mybatis 分页_mybatis一级缓存、二级缓存、分页插件

一级缓存

Mybatis默认开启一级缓存,作用域是SqlSession,在同一个SqlSession中,执行相同的查询SQL,第一次会去数据库进行查询,并写到缓存中,第二次以后是直接去缓存中取;当执行SQL查询中间发生了增删改的操作,MyBatis会把SqlSession的缓存清空

二级缓存

Mybatis的二级缓存是指mapper映射文件,作用域SqlSessionFactory,多个SqlSession共享,需要手动开启二级缓存

<settings>

  <setting name="cacheEnabled" value="true" />

</settings>

单个sql语句

<!--通过useCache来规定这个sql是否开启缓存,ture是开启,false是关闭-->
<select id="selectAllStudents" resultMap="studentMap" useCache="true">
        SELECT id, name, age FROM student
</select>

在 mybatis-config.xml中开启二级缓存(全局)

<configuration>
    <settings>
        <setting name="cacheEnabled" value="true" />
        .....
    </settings>
    ....
</configuration>

mybatis有哪些分页方式

逻辑分页:使用mybatis自带的RowBounds进行分页,会一次性查出所有数据,放到缓存中,再从缓存中拿到分页所需的数据(效率低)

物理分页:从数据库从查询所需条数的数据,如分页插件PageHelper,(常用)

使用拦截器机制进行处理,会在sql语句后面加limit

5b8567034c2ccddd5770059ff9864aae.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值