2021-3-2
1.Mybatis接口代理方式实现dao层
2.Mybatis动态sql(where、if、foreach、sql、include)
if标签
foreach标签
sql片段抽取(一般使用不多,后期查询都是字段不一样)
3.Mybatis分页插件(以及分页插件相关参数)
核心配置文件里配置
PageInfo
PageHelper只对紧跟着的第一个SQL语句起作用。所以若一个方法中涉及到多个查询,需要小心,避免为不需要分页的添加了分页,而真正需要分页的却没有被分页,原来mapper代理对象.selectXXX(),这个方法就是查询。
pageHelper.startPage(m,n)的用法
pageHelper.startPage(m,n)是分页查询。
PageHelper.startPage(m,n)两个参数,第一个参数是页数。第二个参数是条数,每页查询的条数。
例如我想查询第一页,每页10条。pageHelper.startPage(1,10).
我想查询第二页,每页10条。pageHelper.startPage(2,10).
分页不安全的情况
PageHelper 方法使用了静态的 ThreadLocal 参数,分页参数和线程是绑定的。
只要你可以保证在 PageHelper 方法调用后紧跟 MyBatis 查询方法,这就是安全的。因为 PageHelper 在 finally 代码段中自动清除了 ThreadLocal 存储的对象。另外也可以手动清理ThreadLocal存储的分页参数:
PageHelper.clearPage();
小结
4.Mybatis多表操作(一对一,一对多,多对多)
一对一
一对多
多对多