前言
小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注一下!
也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,让我们共同进步,欢迎关注!
自从我们了解mybatis中有插件来实现分页效果,本小编我在平时使用它非常地方便,因此我在这里介绍以下采用分页插件来实现分页效果
参数介绍
pageNum | 当前页的页码 |
pageSize | 每页显示的条数 |
size | 当前页显示的真实条数 |
total | 总记录数 |
page | 总页数 |
prePage | 上一页的页码 |
nextPage | 下一页的页码 |
isFirstPage | 是否为第一页 |
isLastPage | 是否为最后一页 |
hasPreviousPage | 是否存在上一页 |
hasNextPage | 是否存在下一页 |
navigatePageNums | 导航分页的页码 |
一:在pom.xml中导入分页功能的依赖包
本小编以导入的5.2.0版本的为例:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
二:在核心配置文件中配置分页插件
当我们把分页的前期工作做好后,接下来我们做一个案例:
题目:使用if+trim实现根据角色名称模糊查询角色信息列表的操作,并进行分页显示?
三:创建角色表
四:创建实体类
五:编写接口
public interface SmbmsRole2Mapper {
//2:使用if+trim实现根据角色名称模糊查询角色信息列表的操作,并进行分页显示
public List<SmbmsRole2> selectBynameAndpage(@Param("lastname") String lastname);
}
六:映射文件
<?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="com.obtk.mybatis.Mapper.SmbmsRole2Mapper">
<!-- public List<SmbmsRole2> selectBynameAndpage();
2:使用if+trim实现根据角色名称模糊查询角色信息列表的操作,并进行分页显示
public List<SmbmsRole2> selectBynameAndpage(@Param("lastname") String lastname,@Param("start") int start, @Param("rows") int rows);
-->
<select id="selectBynameAndpage" parameterType="String" resultType="smbmsRole2">
select * from smbms_role2
<trim prefix="where">
<if test="lastname!=null and lastname!=''">
roleName like concat("%",#{lastname})
</if>
</trim>
</select>
</mapper>
七:测试
public class SmbmsRole2Test {
@Test
public void testselectBynameAndpage(){
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
SmbmsRole2Mapper mapper = sqlSession.getMapper(SmbmsRole2Mapper.class);
// 查詢功能之前开启分頁功能从第1页开始,每页显示2条数据
Page<Object> page = PageHelper.startPage(1, 2);
//查找角色名称是人员的数据
List<SmbmsRole2> list = mapper.selectBynameAndpage("人员");
// PageInfo<SmbmsRole2> pageInfo = new PageInfo<>(list, 2);
System.out.println(list);
// System.out.println(pageInfo);
sqlSession.close();
}
}
八:结果
本小编只是将数据查询出来,没有将日期格式做转换,后期会将日期转换做介绍
Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=3, pages=2, reasonable=false, pageSizeZero=false}[SmbmsRole2{id=1, roleCode='sunlei1', roleName='外交人员', createdBy=5, creationDate=Wed May 06 10:00:00 CST 2015, modifyBy=null, modifyDate=null}, SmbmsRole2{id=3, roleCode='jonhan', roleName='技术人员', createdBy=3, creationDate=Wed May 06 10:00:00 CST 2020, modifyBy=null, modifyDate=null}]