下面是关于"mybatis分页绝对路径写法过程详解"的完整攻略:
1.什么是Mybatis分页
Mybatis分页是指在数据库中查询出一批数据,然后将这批数据分页展示到页面上的一种技术。对于大数据量的系统来说,分页功能显得尤为重要。
2.Mybatis分页的实现
Mybatis分页有两种方式实现:传统方式和使用插件方式。这里重点讲解使用插件方式实现Mybatis分页。
2.1.使用插件方式实现分页
Mybatis官方提供了一个mybatis-pagehelper插件,这个插件可以帮助我们很方便的实现Mybatis分页功能。
具体实现步骤如下:
1.引入mybatis-pagehelper插件
Maven方式:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>
Gradle方式:
compile group: 'com.github.pagehelper', name: 'pagehelper', version: '5.0.0'
2.在Mybatis配置文件中配置mybatis-pagehelper插件
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"/>
</plugins>
3.在Mapper.xml文件中使用分页查询
<select id="selectUsersByPage" resultMap="UserMap">
SELECT * FROM USERS
</select>
4.在Java代码中调用分页查询方法
PageHelper.startPage(1, 10); // 查询第1页,每页10行记录
List<User> userList = userDao.selectUsersByPage();
2.2.绝对路径方式实现分页
在Mybatis实现分页的时候,可以通过绝对路径的方式来完成,这样写的好处是通用性更加强,可以自由复制到其他模块中使用。
具体实现步骤如下:
1.在根目录下创建p/page.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="page">
<select id="selectByPage" resultMap="UserMap">
SELECT * FROM USERS LIMIT #{start}, #{limit}
</select>
</mapper>
2.在Mapper.xml文件中通过include标签引入p/page.xml文件
<mapper namespace="user">
<include resource="p/page.xml"/>
<select id="selectUsers" resultMap="UserMap">
SELECT * FROM USERS
</select>
</mapper>
3.在Java代码中调用分页查询方法
SqlSession sqlSession = MybatisUtils.getSqlSession();
Map<String, Integer> map = new HashMap<>();
map.put("start", 0); // 起始行
map.put("limit", 10); // 查询记录数
List<User> userList = sqlSession.selectList("page.selectByPage", map);
3.示例说明
3.1.使用插件方式示例
Mapper.xml文件:
<mapper namespace="userDao">
<select id="selectUsersByPage" resultMap="UserMap">
SELECT * FROM USERS
</select>
</mapper>
Java代码:
PageHelper.startPage(1, 10); // 查询第1页,每页10行记录
List<User> userList = userDao.selectUsersByPage();
3.2.绝对路径方式示例
Mapper.xml文件:
<mapper namespace="userDao">
<include resource="p/page.xml"/>
<select id="selectUsers" resultMap="UserMap">
SELECT * FROM USERS
</select>
</mapper>
Java代码:
SqlSession sqlSession = MybatisUtils.getSqlSession();
Map<String, Integer> map = new HashMap<>();
map.put("start", 0); // 起始行
map.put("limit", 10); // 查询记录数
List<User> userList = sqlSession.selectList("page.selectByPage", map);
以上就是关于Mybatis分页绝对路径写法过程的详细介绍,希望可以对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis分页绝对路径写法过程详解 - Python技术站