首先是分页插件的配置
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@MapperScan("com.example.demo.mapper")
@Configuration
public class MybatisPlusPageConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor innerInterceptor=new PaginationInnerInterceptor();
innerInterceptor.setDbType(DbType.SQL_SERVER);
innerInterceptor.setOverflow(true);
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
interceptor.addInnerInterceptor(innerInterceptor);
return interceptor;
}
@Bean
public ConfigurationCustomizer configurationCustomizer(){
return mybatisConfiguration -> mybatisConfiguration.setUseGeneratedShortKey(false);
}
}
Mapper.java 文件:

Mapper.XML文件:
注意!!! 必须加order by key ,key值唯一,否则报错,
mybatis-plus分页 sqlserver 使用`OFFSET ? ROWS FETCH NEXT ? ROWS ONLY`
必须加order by ,没什么好排序的就加order by(select 1)
Service接口.java

Service接口

Controller
前端接收 :request 是axios封装的 tableData是elementplus 中表格table的参数


完成
文章介绍了如何在Spring配置中设置MybatisPlus的分页拦截器,包括PaginationInnerInterceptor用于SQLServer的分页,以及OptimisticLockerInnerInterceptor实现乐观锁。同时,强调了MapperXML文件中必须添加ORDERBY子句以避免错误。
1520

被折叠的 条评论
为什么被折叠?



