MyBatis集锦

MyBatis中 namespace 的作用

namespace 实现了面向接口编程,通过 namespace 指定的接口,MyBatis自动找到其需要执行的SQL语句

动态SQL

MyBatis通过ognl表达式,动态生成SQL语句,解决了jdbc开发中,根据条件拼接SQL容易出错的问题

 

一级缓存

其生命周期和SqlSession(每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它也是线程不安全的。因此最佳的范围是请求或方法范围。绝对不能将SqlSession实例的引用放在一个类的静态字段或实例字段中)一致,每一个线程在操作数据库时,都需要一个SqlSession。

一级缓存最大范围是SqlSession内部,当有多个SqlSession或者分布式的环境下,可能会操作同一数据时,引起脏数据,建议是把一级缓存的默认级别设定为Statement,即不使用一级缓存;

二级缓存

默认关闭,mapper文件内,同一命名空间中的所有语句和缓存将通过命名空间绑定在一起。 每条语句可以自定义与缓存交互的方式,或将它们完全排除于缓存之外,这可以通过在每条语句上使用两个简单属性(flushCache ,useCache )来达成。

更多缓存设置的官方文档:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#cache

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值