下面是一个完整的攻略,包含了使用Mybatis-plus分页插件的详细步骤和两个使用示例。
1. 引入Mybatis-plus分页插件
首先,需要引入Mybatis-plus分页插件,可以通过maven添加依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.3.1</version>
</dependency>
2. 配置分页插件
在SpringBoot的配置文件中,配置Mybatis-plus分页插件:
mybatis-plus:
configuration:
map-underscore-to-camel-case: true
# 分页插件配置
# 方式一:通过properties配置
# 建议使用 方式二
page-params: pageNum=1;pageSize=10
# 方式二:通过java代码配置
global-config:
# 分页插件配置
db-config:
# 数据库全局表前缀
table-prefix: s_
# 逻辑删除配置
logic-delete-value: 1
logic-not-delete-value: 0
# 分页插件配置
page:
# 禁止自动优化count查询
optimize-count-sql: false
# 分页方式:false:简单分页 true:物理分页(进行count查询)
page-helper:
auto-dialect: true
support-methods-arguments: true
reasonable: true
3. 使用分页插件进行分页查询
在Mybatis-plus的Mapper接口中,可以直接使用分页插件提供的方法进行分页查询:
public interface UserMapper extends BaseMapper<User> {
/**
* 自定义分页查询
* @param page 分页参数
* @param user 查询条件
* @return 分页数据
*/
IPage<User> selectPageVo(Page<User> page, User user);
}
其中,Page
是Mybatis-plus提供的分页参数类,User
是查询条件实体类,IPage
是Mybatis-plus提供的分页数据接口。
4. 示例一:使用分页插件进行分页查询
下面是一个使用分页插件进行分页查询的示例:
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
@Autowired
private UserMapper userMapper;
/**
* 使用分页插件进行分页查询
* @param pageNum 当前页码
* @param pageSize 每页数量
* @return 分页数据
*/
@Override
public IPage<User> selectPage(int pageNum, int pageSize) {
return userMapper.selectPage(new Page<User>(pageNum, pageSize), new User());
}
}
其中,UserServiceImpl
是服务层实现类,selectPage
方法直接调用Mapper方法进行分页查询。
5. 示例二:使用Wrapper进行条件查询及分页
除了直接使用分页插件提供的方法,还可以结合Wrapper进行复杂的条件查询及分页:
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
@Autowired
private UserMapper userMapper;
/**
* 使用Wrapper进行条件查询及分页
* @param pageNum 当前页码
* @param pageSize 每页数量
* @param username 用户名
* @return 分页数据
*/
@Override
public IPage<User> selectPageWithCondition(int pageNum, int pageSize, String username) {
// 创建条件构造器
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 添加查询条件
wrapper.like("username", username);
// 构造分页对象
Page<User> page = new Page<>(pageNum, pageSize);
// 执行分页查询
return userMapper.selectPage(page, wrapper);
}
}
在示例二中,使用了Condition构造器添加了条件查询,并结合分页进行查询操作。
希望这个攻略能够对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot使用Mybatis-plus分页插件的案例详解 - Python技术站