添加分页插件
/**
* 创建并配置MybatisPlusInterceptor拦截器。
* 该拦截器主要用来增强Mybatis Plus的查询和操作能力,包括分页插件和防SQL注入攻击插件。
*
* @return MybatisPlusInterceptor 返回配置好的MybatisPlusInterceptor实例。
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 添加分页插件,支持MySQL数据库
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
// 添加防SQL注入攻击插件
interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
return interceptor;
}
使用,创建page对象,传入页码,页面存放数据条数最大值
调用持久层后将结果会自动存入page对象中
// 创建一个Page对象,用于存放分页查询的结果
IPage<List<Employee>> page = new Page<>(employeePageQueryDTO.getPage(), employeePageQueryDTO.getPageSize());
// 调用employeeMapper进行分页查询,将查询条件和分页参数传入
employeeMapper. pageQuery(page, employeePageQueryDTO);
持久层
IPage<List<Employee>> pageQuery(IPage<List<Employee>> page,@Param("empPqDto") EmployeePageQueryDTO employeePageQueryDTO);
<select id="pageQuery" resultType="com.sky.entity.Employee">
select <include refid="Base_Column_List"/>
from employee
<where>
<if test="empPqDto.name != null and empPqDto.name != ''">
and name like concat('%',#{empPqDto.name},'%')
</if>
</where>
order by create_time desc
</select>
可以获取一些基本信息 ,总条数,查询出来的数据等等