mybatis plus 3.5 没有 PaginationInterceptor
时间: 2023-06-29 19:11:59 浏览: 149
在MyBatis Plus 3.5版本中,PaginationInterceptor已经被移除了。取而代之的是一个新的分页插件:MybatisPlusInterceptor。这个新插件提供了更加灵活和全面的分页功能,同时也更易于扩展和定制。如果您需要在MyBatis Plus 3.5中进行分页,建议使用MybatisPlusInterceptor插件来实现。
相关问题
mybatis plus 3.5 MybatisPlusInterceptor 实现
在 MyBatis Plus 3.5 版本中,分页插件 PaginationInterceptor 被 MybatisPlusInterceptor 替代,MybatisPlusInterceptor 提供了更加灵活和全面的插件功能。以下是实现步骤:
1. 在 MyBatis Plus 配置文件中添加 MybatisPlusInterceptor 插件,并配置需要使用的插件列表,例如:
```java
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 添加分页插件
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
// 添加乐观锁插件
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
}
```
以上代码中,我们添加了分页插件 PaginationInnerInterceptor 和乐观锁插件 OptimisticLockerInnerInterceptor,您也可以根据实际需要添加其他插件。
2. 在执行 SQL 操作时,MybatisPlusInterceptor 会自动执行配置的插件列表,例如:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> listUsers(int pageNum, int pageSize) {
// 创建分页条件
Page<User> page = new Page<>(pageNum, pageSize);
// 执行分页查询
return userMapper.selectPage(page, null);
}
@Override
@Transactional
public void updateUser(User user) {
// 执行更新操作
userMapper.updateById(user);
}
}
```
以上代码中,我们使用了分页插件和乐观锁插件,当执行分页查询时,会自动使用 PaginationInnerInterceptor 插件进行分页操作,当执行更新操作时,会自动使用 OptimisticLockerInnerInterceptor 插件进行乐观锁操作。
以上就是在 MyBatis Plus 3.5 版本中使用 MybatisPlusInterceptor 实现插件的方法。需要注意的是,如果在使用插件时没有正确配置或者使用不当,可能会导致数据不一致等问题,因此建议在使用插件时仔细查阅文档并正确配置。
mybatis plus 3.5 OptimisticLockerInterceptor替代
是的,MyBatis Plus 3.5版本中,OptimisticLockerInterceptor替代了之前版本中的乐观锁插件OptimisticLockerInterceptor。OptimisticLockerInterceptor是一个支持乐观锁的插件,可以通过在实体类中添加@Version注解来启用乐观锁。在执行更新操作时,OptimisticLockerInterceptor会检查版本号是否一致,如果一致则执行更新操作,否则会抛出OptimisticLockException异常。
使用OptimisticLockerInterceptor也非常简单,只需要将其添加到MyBatis Plus的插件列表中即可,例如:
```
@Configuration
public class MybatisPlusConfig {
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(OptimisticLockerInterceptor optimisticLockerInterceptor) {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(optimisticLockerInterceptor);
return interceptor;
}
}
```
这样就可以在MyBatis Plus中使用乐观锁功能了。