springboot项目中mybatis的一级缓存

在SpringBoot项目中,MyBatis的一级缓存效果在事务管理下更为明显。因为当开启事务时,同一个SqlSession会贯穿整个事务,从而能缓存查询结果,减少SQL执行次数。而没有事务的情况下,每次查询都会创建新的SqlSession,导致无法利用缓存,SQL可能执行多次。

在这里插入图片描述
在springboot项目中加上事务才能体现出mybatis的一级缓存,因为加上了事务,用的一直是同一个sqlsession,这时候有缓存的话sql只会执行一次,没加事务sqlsession查一次关一次,每次创建的都是不同的sqlsession,无法缓存,sql会执行两次

加了事务
Creating a new SqlSession
Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@66a5755]
Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@66a5755] from current transaction
不加事务
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7c37f145]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1d858300]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值