最近因为项目需要,又重新学习了一下MyBatis,发现好多以前学的都忘得差不多了,而且以前的笔记也没有了,所以自己去网上找资料学习。并且整理下来发到这里,大家一起学习。
视频看的动力节点王鹤老师讲的MyBatis框架,堪称史上最细,老师条理很清晰,讲的真心不错,观看链接点下边
https://www.bilibili.com/video/BV185411s7Ry
第六章 PageHelper
PageHelper做数据分页。 在你的select语句后面加入分页的 sql 内容, 如果你使用的mysql数据库, 它就是在select * from student 后面加入 limit 语句。
使用步骤:
1.加入依赖pagehelper依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.10</version>
</dependency>
2.在mybatis主配置文件, 加入plugin声明
在<environments> 之前加入
<plugins>
<plugin interceptor ="com.github.pagehelper.PageInterceptor" />
</plugins>
3.在select语句之前,调用PageHelper.startPage(页码, 每页大小)
对比:
没有使用PageHelper
select * from student order by id
使用PageHelper
SELECT count(0) FROM student
select * from student order by id LIMIT ?
</dataSource>
</environment>
</environments>
5.5 mapper 标签(*)
使用mapper指定其他mapper文件的位置,
mapper标签使用的格式有两个常用的方式:
<mappers>
<!--第一种方式, resources="mapper文件的路径"
优点:文件清晰。 加载的文件是明确的。
文件的位置比较灵活。
缺点:文件比较多, 代码量会比较大, 管理难度大
-->
<mapper resource="com/bjpowernode/dao/StudentDao.xml"/>
<mapper resource="com/bjpowernode/dao/OrderDao.xml"/>
<!--
第二种方式,使用<package>
name:包名, mapper文件所在的包名。
特点: 把这个包中的所有mapper文件,一次加载。
使用要求:
1. mapper文件和dao接口在同一目录
2. mapper文件和dao接口名称完全一样。
-->
<package name="com.bjpowernode.dao" />
<package name="com.bjpowernode.dao1" />
</mappers>