五、在事务中使用Mybatis缓存的那些坑

场景:

1、同一个事务中

2、使用mybatis执行同一个sql

@Transactional(rollbackFor = { Exception.class })
public void getInfo() {
  SysUser user = sysUserDao.selectByPrimaryKey(111);//SysGrade=1
  user .setSysGrade(0);
  SysUser sysUser = sysUserDao.selectByPrimaryKey(111);
  System.out.println(sysUser.getSysGrade());//0
}

如果在同一个事务中,多次同一个查询sql在mybatis的执行过程中,只会查询一次数据库,后几次所返回的对象是mybatis在在内部做了缓存。

参考链接:https://www.cnblogs.com/tv151579/p/5742371.html

 

上一篇:【Java杂货铺】用Security做权限极简入门


下一篇:MVC5+EF6 入门完整教程十