JavaEE企业级项目开发(第3版)教学课件微课2-8:MyBatis分页.pptx
主讲人:崔浩延迟符Mybatis中的分页方法MyBatis入门与配置
Mybatis分页?LIMIT原生分页方式?Rowbounds分页方法?PageHelper分页插件方式
LIMIT原生分页方法在MyBatis中可以通过原生SQL的LIMIT关键字进行分页查询。以下是一个简单的示例:【例2-9】使用LIMIT分页示例。(1)定义Employee表要求:需要按照部门进行分页查询。selectid=getEmployeesByDepartmentresultType=EmployeeSELECT*FROMemployeesWHEREdepartment=#{department}LIMIT#{offset},#{pageSize}/select在这个查询语句中,LIMIT#{offset},#{pageSize}表示限制结果集的范围,{offset}是起始索引,{pageSize}是每页显示的记录数。EmployeeMapper接口publicinterfaceEmployeeMapper{ListEmployeegetEmployeesByDepartment(@Param(department)Stringdepartment,@Param(offset)intoffset,@Param(pageSize)intpageSize);}
LIMIT原生分页方法测试类在测试方法中,加入以下代码:intpageNumber=1;//页码intpageSize=2;//每页记录数intoffset=(pageNumber-1)*pageSize;//计算偏移量ListEmployeeemployees=employeeMapper.getEmployeesByDepartment(IT,offset,pageSize);在示例中,首先计算了偏移量(即起始索引),然后调用getEmployeesByDepartment方法,并传递了部门名称、偏移量和每页记录数作为参数。这样,就能够实现原生SQL的LIMIT关键字进行分页查询的功能。
RowRounds分页方法在MyBatis中,可以使用RowBounds进行分页查询。RowBounds是MyBatis提供的一个用于控制查询结果行范围的类。以下是一个示例代码:【例】使用RowBounds进行分页示例。EmployeeMapper接口importorg.apache.ibatis.session.RowBounds;publicinterfaceEmployeeMapper{ListEmployeegetEmployeesByDepartment(Stringdepartment,RowBoundsrowBounds);}在这个接口中,getEmployeesByDepartment方法接收两个参数,第一个是部门名称,第二个是RowBounds对象,用于控制查询结果的行范围。定义查询语句在EmployeeMapper.xml中,定义了一个查询语句:selectid=getEmployeesByDepartmentresultType=EmployeeparameterType=mapSELECT*FROMemployeesWHEREdepartment=#{department}/select
RowRounds分页方法测试类接下来,在测试代码中进行分页处理:intpageNumber=1;//页码intpageSize=10;//每页记录数intoffset=(pageNumber-1)*pageSize;//计算偏移量RowBoundsrowBounds=newRowBounds(offset,pageSize);ListEmployeeemployees=employeeMapper.getEmployeesByDepartment(IT,rowBounds);在这个例子中,首先计算了偏移量(即起始索引),然后创建了一个RowBounds对象,并将偏移量和每页记录数作为参数传递给它。最后调用了getEmployeesByDepartment方法,并传递了部门名称和RowBounds对象作为参数。这样,就能够使用RowBounds实现分页查询功能。
PageHelper分页插件方式MyBatis中,可以通过使用PageHelper分页插件来