EmployeeMapper.java自定义接口
/**
* <p>
* 查询 : 根据lastName查询员工列表,分页显示
* </p>
*
* @param page 分页对象,xml中可以从里面进行取值,传递参数 Page 即自动分页,必须放在第一位(你可以继承Page实现自己的分页对象)
* @param lastName 状态
* @return 分页对象(分页返回的对象与传入的对象是同一个)
*/
IPage<Employee> selectPage(Page<?> page, String lastName);
EmployeeMapper.xml 等同于编写一个普通 list 查询,mybatis-plus 自动分页
<select id="selectPage" resultType="com.example.demo.domain.Employee">
select <include refid="Base_Column"/>
from tbl_employee
where last_name = #{lastName}
</select>
进行测试:
@Test
void hh(){
Page<Employee> page = new Page<>(1,2);
employeeMapper.selectPage(page,"lisa");
List<Employee> records = page.getRecords();
records.forEach(System.out::println);
System.out.println("获取总条数:" + page.getTotal());
System.out.println("获取当前页码:" + page.getCurrent());
System.out.println("获取总页码:" + page.getPages());
System.out.println("获取每页显示的数据条数:" + page.getSize());
System.out.println("是否有上一页:" + page.hasPrevious());
System.out.println("是否有下一页:" + page.hasNext());
}
执行结果: