1. plugins标签
MyBatis
可以使用第三方的插件来对功能进行扩展,分页助手
PageHelper
是将分页的复杂操作进行封 装,使用简单的方式即可获得分页的相关数据
开发步骤:
①导入通用
PageHelper
的坐标
②在
mybatis
核心配置文件中配置
PageHelper
插件
③测试分页数据获取
①在pom.xml中导入通用PageHelper坐标
<!-- 分页助手 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.7.5</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>0.9.1</version>
</dependency>
②在mybatis核心配置文件sqlMapConfig.xml中配置PageHelper插件
<!--分页助手插件-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!--dialect: 指定方言 limit-->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
③测试分页代码实现
/*
核心配置文件深入:plugin标签:pageHelper
*/
@Test
public void test15() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
// 当前返回的 其实是基于UserMapper所产生的代理对象:底层:JDK动态代理 实际类型:proxy
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
// 设置分页参数
// 参数1: 当前页
// 参数2: 每页显示的条数
PageHelper.startPage(1,2);
List<User> users = mapper.findAllResultMap();
for (User user : users) {
System.out.println(user);
}
// 获取分页相关的其他参数
PageInfo<User> pageInfo = new PageInfo<User>(users);
System.out.println("总条数"+ pageInfo.getTotal());
System.out.println("总页数"+ pageInfo.getPages());
System.out.println("是否是第一页"+ pageInfo.isIsFirstPage());
System.out.println("当前页:"+pageInfo.getPageNum());
System.out.println("每页显示长度:"+pageInfo.getPageSize());
System.out.println("是否最后一页:"+pageInfo.isIsLastPage());
sqlSession.close();
}
2. 知识小结
MyBatis
核心配置文件常用标签:
1
、
properties
标签:该标签可以加载外部的
properties
文件
2
、
typeAliases
标签:设置类型别名
3
、
environments
标签:数据源环境配置标签
4
、
plugins
标签:配置
MyBatis
的插件
节选自拉钩教育JAVA系列课程