mybatisplus 自定义分页 mapper写法
时间: 2023-09-29 11:07:17 浏览: 138
mybatisplus中自定义SQL
MybatisPlus自定义分页mapper的写法如下:
在Mapper类中,需要定义一个方法用于实现自定义分页查询。该方法需要接收一个分页对象和一个查询条件对象作为参数,并返回一个分页结果对象。
首先,在Mapper类中引入相关的依赖:
```
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
```
然后,在Mapper类中定义自定义分页查询的方法,例如:
```
public interface MyMapper extends BaseMapper<MyEntity> {
IPage<MyEntity> selectCustomPage(Page<MyEntity> page, @Param("queryWrapper") QueryWrapper<MyEntity> queryWrapper);
}
```
在方法中,使用`@Param`注解指定查询条件对象的参数名,使用`Page`对象作为分页参数,并返回一个`IPage`对象作为分页结果。
在Mapper.xml中,实现自定义分页查询的SQL语句,例如:
```
<select id="selectCustomPage" resultType="com.example.MyEntity">
SELECT * FROM my_table
<where>
<if test="queryWrapper != null">
${queryWrapper.sqlSegment}
</if>
</where>
LIMIT #{page.offset}, #{page.size}
</select>
```
在SQL语句中,使用`where`标签包裹查询条件,通过`${queryWrapper.sqlSegment}`将查询条件动态拼接到SQL语句中。使用`LIMIT`关键字实现分页查询。
以上就是MybatisPlus自定义分页mapper的写法。
阅读全文