首页 > 其他分享 >mybatis-plus pageHelper 合理化配置

mybatis-plus pageHelper 合理化配置

时间:2024-05-13 10:21:07浏览次数:14  
标签:mybatisplus pageHelper MybatisPlusInterceptor PaginationInnerInterceptor baomido

mybatis 分页设置

// 自定义分页拦截器
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;

public class CustomPaginationInterceptor extends PaginationInnerInterceptor {
    @Override
    protected void handlerOverflow(IPage<?> page) {
        //原来的逻辑是超出范围返回第一页
        //page.setCurrent(1L);

        //修改成返回最后一页
        page.setCurrent(page.getPages());
    }
}


// 注册拦截器
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class MyBatisPlusConfig {


    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.KINGBASE_ES);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        paginationInnerInterceptor.setMaxLimit(-1L);
        // 分页合理化
        paginationInnerInterceptor.setOverflow(true);
        interceptor.addInnerInterceptor(paginationInnerInterceptor);
        return interceptor;
    }

}

 

标签:mybatisplus,pageHelper,MybatisPlusInterceptor,PaginationInnerInterceptor,baomido
From: https://www.cnblogs.com/xuchao0506/p/18188717

相关文章

  • Mybatis之动态SQL使用讲解
    目录1动态SQL1.1引言1.2数据准备1.3if标签1.3.1在WHERE条件中使用if标签1.3.2在UPDATE更新列中使用if标签1.3.3在INSERT动态插入中使用if标签1.4choose标签1.5trim(set、where)1.5.1where1.5.2set1.5.3trim1.5.3.1trim来表示where1.5.3.2trim来表......
  • MyBatis的一级、二级缓存
    一级缓存基于PerpetualCache的HashMap本地缓存,其存储作用域为Session,当Session进行flush或close之后,该Session中的所有Cache就将清空,默认打开一级缓存。二级缓存基于namespace和mapper的作用域起作用的,不是依赖于SQLsession,默认也是采用PerpetualCache,HashMap存储。需要单独......
  • MyBatis延迟加载
    MyBatis是否支持延迟加载延迟加载的意思是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。MyBatis支持一对一关联对象和一对多关联集合对象的延迟加载。在Mybatis配置文件中,可以配置是否启用延迟加载lazyLoadingEnabled=truel/false,默认是关闭的。或者fetchType=laz......
  • MyBatis批处理
    减少了jdbc驱动与数据库服务器之间的网络传输开销使用batch前:执行一条sql就要进行一次网络IO开销,还要等待服务器响应结束后才能提交下一条sql。预编译n次,设置参数n次,执行n次使用batch之后:客户端的多条sql是一起提交给服务器的,一次batch只涉及到一次网络传输开销。预编译一次,设......
  • Mybatis中引用类型不需要加@param()注解
    在MyBatis中,对于引用类型的参数(即Java对象),通常不需要使用@Param注解,除非你在映射文件中使用了多个参数,并且这些参数不是封装在一个对象中的。当你只有一个引用类型的参数传递给MyBatis的映射器方法时,MyBatis会自动将该参数作为唯一参数处理,并可以在SQL映射文件中通过......
  • mybatis缓存
    缓存缓存(即cache)的作用是为了减去数据库的压力,提高数据库的性能。缓存实现的原理是从数据库中查询出来的对象在使用完后不销毁,而是存储在内存(缓存)中,当再次需要获取该对象时,直接从内存中获取,不再向数据库执行select语句,减少对数据库的查询次数,提高了数据库的性能。缓存是使用Map......
  • SpringBoot整合Mybatis时mapper文件和xml文件的位置
    xml文件放在resources下看下我的项目目录2.由于放在resurces下就无法扫描到xml文件,所以就需要在配置文件配置--mapper文件位置mybatis.mapper-locations=classpath:mapper/*.xml或mybatis.mapper-locations=classpath:/mapper/*.xmlxml和mapper文件放在一起我的项目......
  • mybatisplus 中查询的实体对应的表名是动态的解决方案
    开发中遇到需要查询一些表里的数据,这些数据按照一定的规则存放在不同的数据库表里,例如表名是table_name+月份 table_name_2024_05,table_name_2024_04这样,这些表的结构都相同。网上找了一些动态修改实体对应数据库表名的方法,操作相对复杂而且跟mybatisplus的版本有关。自己......
  • mybatis核心配置文件
    在resource目录下,创建mybatis-config.xml(官方建议起名方式)核心配置文件常用元素properties:通过resource属性从外部指定属性文件(db.properties),该属性文件描述数据库连接的相关配置(数据库驱动、连接数据库的url、数据库用户名、数据库密码),位置也是在/resources目录下settin......
  • mybatis中的增删改操作
    在之前的操作之后,若要编写增删改操作,需要变动的只有UserMapper接口,UserMapper.xml以及测试类举例删除操作-delete://Dao层接口UserMapper增加deleteById方法:intdeleteById(intid);映射文件UserMapper.xml中增加与Dao层接口匹配的如下内容<!--删除操作--><deleteid="......