paginationinterceptor mybatisplusinterceptor
时间: 2023-05-09 19:01:38 浏览: 461
PaginationInterceptor和MyBatisPlusInterceptor都是MyBatis Plus框架中的拦截器。它们的作用都是实现分页查询的功能,但它们在实现方式上有所不同。
PaginationInterceptor是MyBatis Plus框架中提供的默认分页拦截器,在进行分页查询时,通过拦截SQL语句中的LIMIT关键字,生成相应的分页SQL语句并执行查询。同时还可以设置最大分页数量、禁止普通查询时自动分页等功能。
而MyBatisPlusInterceptor则是一种可扩展的分页拦截器,可以在查询过程中灵活定制SQL查询逻辑、自定义分页逻辑等功能。通过实现PaginationInterceptor接口并注入MyBatisPlusInterceptor,可以实现更加灵活的分页查询功能。
不过需要注意的是,在分页查询时,无论使用哪种拦截器,都需要在Mapper接口中提供分页相关的参数和返回值类型,如指定查询结果列表类型为List\<T>,指定查询结果数量类型为Integer等。同时还要注意分页查询的效率问题,避免在大量数据查询时出现性能瓶颈。
相关问题
mybatisPlusInterceptor
MybatisPlusInterceptor是一个用于MyBatis-Plus的拦截器,它可以用于添加自定义的拦截逻辑以及处理分页功能。在高版本的SpringBoot中,推荐使用MybatisPlusInterceptor来替代过时的写法。你可以按照以下的方式配置MybatisPlusInterceptor:
在配置类中,使用@Bean注解创建一个MybatisPlusInterceptor对象,并在该对象中添加需要的内部拦截器,比如PaginationInnerInterceptor,可以指定数据库类型(如DbType.H2或DbType.MYSQL)。示例代码如下:
```java
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
return interceptor;
}
```
另外,你也可以创建自定义的拦截器,并将其添加到MybatisPlusInterceptor中。示例代码如下:
```java
@Configuration
public class CipherMybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new LizzMybatisIntercepts()); // 自定义拦截器
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 自带分页拦截器
return interceptor;
}
}
```
另外,如果你只需要使用分页功能,可以直接配置PaginationInterceptor,示例代码如下:
```java
@Configuration
public class MybatisConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
```
总之,MybatisPlusInterceptor是一个用于MyBatis-Plus的拦截器,可以添加自定义的拦截逻辑和处理分页功能。你可以根据具体需求选择合适的配置方式。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Mybatis-Plus中分页插件PaginationInterceptor, MybatisPlusInterceptor在SpringBoot中的使用](https://blog.csdn.net/qq_41359651/article/details/112260207)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [MyBatis-plus拦截器](https://blog.csdn.net/winerpro/article/details/126053599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
mybatisplusinterceptor
MybatisPlusInterceptor是一个用于拦截MyBatis执行过程的拦截器。它可以在查询、更新等操作之前或之后进行一些额外的处理。在高版本的SpringBoot中,推荐使用MybatisPlusInterceptor的写法。比如,你可以在SpringBoot配置类中使用@Bean注解来创建MybatisPlusInterceptor实例,并将它添加到MyBatis的配置中。可以通过调用addInnerInterceptor方法来添加内部拦截器,如分页插件PaginationInnerInterceptor。
另外,你也可以自定义拦截器并加入MybatisPlusInterceptor中。举个例子,在@Configuration注解的配置类中,你可以创建一个自定义的拦截器类,并通过addInnerInterceptor方法将它添加到MybatisPlusInterceptor中。同时,你可以继续添加其他内部拦截器,如分页拦截器PaginationInnerInterceptor。这样,在MyBatis执行过程中,你的自定义拦截器会在内部拦截器之前被执行。
如果你不需要自定义拦截器,只想简单地配置分页插件,你可以直接在@Configuration注解的配置类中创建一个PaginationInterceptor的实例,并将其作为@Bean返回。这样,分页插件就会被自动应用到MyBatis的执行过程中。<span class="em">1</span><span class="em">2</span><span class="em">3</span>