mybatis-plus 实现SQL分页
时间: 2023-09-25 19:16:31 浏览: 150
MyBatis-Plus 分页查询以及自定义sql分页的实现
4星 · 用户满意度95%
MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上进行了一些功能的增强,其中包括了分页查询的功能。下面是使用 MyBatis-Plus 实现 SQL 分页的方法:
1. 在 pom.xml 文件中添加 MyBatis-Plus 的依赖:
```
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
```
2. 在 MyBatis 的配置文件中添加分页插件配置:
```
<!-- MyBatis Plus 分页插件配置 -->
<plugins>
<plugin interceptor="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor">
<property name="dialectType" value="mysql"/>
</plugin>
</plugins>
```
3. 在 DAO 接口中使用 MyBatis-Plus 提供的 Page 对象来实现分页查询:
```
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface MyMapper extends BaseMapper<MyEntity> {
List<MyEntity> selectPage(Page<MyEntity> page, @Param("condition") MyCondition condition);
}
```
4. 在 Service 层中调用 DAO 层的 selectPage 方法即可实现分页查询:
```
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class MyService {
@Autowired
private MyMapper myMapper;
public Page<MyEntity> getPage(int pageNum, int pageSize, MyCondition condition) {
Page<MyEntity> page = new Page<>(pageNum, pageSize);
myMapper.selectPage(page, condition);
return page;
}
}
```
以上就是使用 MyBatis-Plus 实现 SQL 分页的方法。需要注意的是,分页插件的 dialectType 属性需要配置为当前项目所使用的数据库类型。
阅读全文