动态SQL以及Mybatis的事务和缓存机制

本文详细介绍了Mybatis中的动态SQL语句,包括InsertProvider、UpdateProvider、DeleteProvider和SelectProvider的使用。同时,探讨了Mybatis的事务管理,强调其满足ACID特性,并介绍了JdbcTransaction和ManagedTransaction的差异。此外,文章还深入解析了Mybatis的一级缓存和二级缓存机制,指出一级缓存是SqlSession级别,二级缓存则是mapper级别,两者在提高查询性能中的作用,并提醒在DML操作后需注意的一级缓存清理问题。
摘要由CSDN通过智能技术生成

动态SQL

省略SQL语句,用Java进行代替.

动态SQL语句的语法:

  • InsertProvider
  • UpdateProvider
  • DeleteProvider
  • SelectProvider

事务

满足acid特性:原子性,一致性,隔离性,持续性

Mybatis事务

  • Mybatis组为Java语言的数据库框架,对数据库的事务管理是非常重要的一个方面;
    Mybatis的事务主要分两种:
  1. JdbcTransaction: 即使用java.sql.Connection对象完成事务的提交(commit()),回滚(rollback()),关闭(close())等
  2. 不经常用的ManagedTransaction

Mybtatis的缓存机制

在实际开发中,通常对数据库查询性能要求很高,而Mybatis提供了查询缓存来缓存数据,从而达到提高查询性能的要求。Mybatis的查询缓存分为一级缓存和二级缓存:

  • 一级缓存是SqlSession级别的缓存,在操作数据库时需要构建一个SqlSession对象,在对象之中有一个HashMap用于存储缓存数据,不同的SQLSession之间缓存区域(HashMap)是互不影响的。一级缓存的作用域是sqlSession范围的&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值