实例
包 com.baomidou.mybatisplus.extension.plugins.pagination
/** * 分页查询 * @param * @param * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page" ) public R findPage(@RequestParam(required = false,defaultValue = "1") Integer pageNum, @RequestParam(required = false,defaultValue = "10") Integer pageSize, @RequestParam(required = false) String dataSourceName, @RequestParam(required = false) String ip, @RequestParam Integer dataSourceType) { return R.ok(aggDatasourceService.findPage(pageNum,pageSize,dataSourceName,ip,dataSourceType)); }
@Override public Page<AggDataSource> findPage(Integer pageNum, Integer pageSize, String dataSourceName, String ip,Integer dataSourceType){ Page<AggDataSource> page = new Page<>(pageNum, pageSize); //new page (当前页,当前大小) return this.baseMapper.find(page, dataSourceName, ip,dataSourceType);
//把参数传递给mapper方法即可,它会自动在执行sql的时候包装一下,包装内容其实是limt 得语句 select count(1) from(select * from user) limit 5 offset 0 ;
}
<select id="find" resultType="com.zxgeo.data.quartz.api.entity.AggDataSource"> SELECT datasource_id, datasource_name, ip, port, SCHEMA, user_name, db_type, datasource_type, create_time, update_time FROM "agg_datasource" WHERE del_flag = 0 and datasource_type = #{dataSourceType} <if test="dataSourceName!=null and dataSourceName!=''"> and datasource_name like concat('%', #{dataSourceName}, '%') </if> <if test="ip!=null and ip!=''"> and ip like concat('%', #{ip}, '%') </if> </select>