当前位置: 首页 > news >正文

长沙县 网站建设企业互联网推广

长沙县 网站建设,企业互联网推广,清远 网站建设,在线免费做网站【转载】一、Mybatis Plus 3.4 版本之后分页插件的变化 1、地址 Mybatis Plus 3.4版本之后分页插件的变化 2、内容 1、MybatisPlusInterceptor 从 Mybatis Plus 3.4.0 版本开始,不再使用旧版本的 PaginationInterceptor,而是使用 MybatisPlusInterce…

【转载】一、Mybatis Plus 3.4 版本之后分页插件的变化

1、地址

Mybatis Plus 3.4版本之后分页插件的变化

2、内容

1、MybatisPlusInterceptor

Mybatis Plus 3.4.0 版本开始,不再使用旧版本的 PaginationInterceptor,而是使用 MybatisPlusInterceptor

MybatisPlusInterceptor 是一系列的实现 InnerInterceptor 的拦截器链,也可以理解为一个集合。可以包括如下的一些拦截器

  • 自动分页:PaginationInnerInterceptor(最常用)
  • 多租户:TenantLineInnerInterceptor
  • 动态表名:DynamicTableNameInnerInterceptor
  • 乐观锁:OptimisticLockerInnerInterceptor
  • sql 性能规范:IllegalSQLInnerInterceptor
  • 防止全表更新与删除:BlockAttackInnerInterceptor

2、旧版分页插件配置方法(Mybatis Plus 3.4.0版本之前)

@Configuration
@MapperScan(basePackages = {"com.zimug.**.mapper"})
public class MybatisPlusConfig {@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false// paginationInterceptor.setOverflow(false);// 设置最大单页限制数量,默认 500 条,-1 不受限制// paginationInterceptor.setLimit(500);// 开启 count 的 join 优化,只针对部分 left joinpaginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));return paginationInterceptor;}
}

3、新的分页插件配置方法(Mybatis Plus 3.4.0 版本及其之后的版本)

新的分页插件,一缓和二缓遵循 mybatis 的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题

@Configuration
@MapperScan(basePackages = {"com.zimug.**.mapper"})
public class MybatisPlusConfig {/*** 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();// 向 Mybatis 过滤器链中添加分页拦截器interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));// 还可以添加其他的拦截器return interceptor;}@Beanpublic ConfigurationCustomizer configurationCustomizer() {return configuration -> configuration.setUseDeprecatedExecutor(false);}
}

4、分页查询的使用方法

分页查询的使用方法没有变化,仍然和 Mybatis 之前的版本一致,没有变化。 这里简单举一个例子

// 查询第 pageNum 页,每页 pageSize 条数据
Page<SysUserOrg> page = new Page<> (pageNum,pageSize);
// 将分页参数 page 作为 Mybatis 或 Mybatis Plus 的第一个参数传入持久层函数,即可完成分页查询
return mySystemMapper.selectUser(page, 其他参数 );

二、低版本 3.0.7.1

1、MybatisPlusConfig 代码

package com.greatoo.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** mybatis-plus配置*/
@Configuration
public class MybatisPlusConfig {/*** 分页插件*/@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();// 设置方言,多方言设置暂时找不到如何处理,低版本暂时只找到这一种处理方法paginationInterceptor.setDialectType(DbType.SQL_SERVER2005.getDb());return paginationInterceptor;}@Beanpublic ISqlInjector sqlInjector() {return new LogicSqlInjector();}
}

2、DbType 代码

package com.baomidou.mybatisplus.annotation;import lombok.Getter;@Getter
public enum DbType {/*** MYSQL*/MYSQL("mysql", "%s LIKE CONCAT('%%',#{%s},'%%')", "MySql数据库"),/*** MARIADB*/MARIADB("mariadb", "%s LIKE CONCAT('%%',#{%s},'%%')", "MariaDB数据库"),/*** ORACLE*/ORACLE("oracle", "%s LIKE CONCAT(CONCAT('%%',#{%s}),'%%')", "Oracle数据库"),/*** DB2*/DB2("db2", "%s LIKE CONCAT(CONCAT('%%',#{%s}),'%%')", "DB2数据库"),/*** H2*/H2("h2", "%s LIKE CONCAT('%%',#{%s},'%%')", "H2数据库"),/*** HSQL*/HSQL("hsql", "%s LIKE CONCAT('%%',#{%s},'%%')", "HSQL数据库"),/*** SQLITE*/SQLITE("sqlite", "%s LIKE CONCAT('%%',#{%s},'%%')", "SQLite数据库"),/*** POSTGRE*/POSTGRE_SQL("postgresql", "%s LIKE CONCAT('%%',#{%s},'%%')", "Postgre数据库"),/*** SQLSERVER2005*/SQL_SERVER2005("sqlserver2005", "%s LIKE '%%'+#{%s}+'%%'", "SQLServer2005数据库"),/*** SQLSERVER*/SQL_SERVER("sqlserver", "%s LIKE '%%'+#{%s}+'%%'", "SQLServer数据库"),/*** DM*/DM("dm", null, "达梦数据库"),/*** UNKONWN DB*/OTHER("other", null, "其他数据库");/*** 数据库名称*/private final String db;/*** LIKE 拼接模式*/private final String like;/*** 描述*/private final String desc;DbType(String db, String like, String desc) {this.db = db;this.like = like;this.desc = desc;}/*** <p>* 获取数据库类型(默认 MySql)* </p>** @param dbType 数据库类型字符串*/public static DbType getDbType(String dbType) {DbType[] dts = DbType.values();for (DbType dt : dts) {if (dt.getDb().equalsIgnoreCase(dbType)) {return dt;}}return OTHER;}
}

3、多数据源处理可参考(不确定能否实现,可以试试看)

SpringBoot 配置双数据源,MyBatis-Plus 分页插件配置

三、高版本 3.5.3.1

1、MybatisPlusConfig 代码

package io.renren.config;import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** mybatis-plus配置*/
@Configuration
public class MybatisPlusConfig {/*** 防止修改与删除时对全表进行操作*/@Beanpublic BlockAttackInnerInterceptor blockAttackInnerInterceptor() {return new BlockAttackInnerInterceptor();}/*** 新的分页插件,一缓和二缓遵循 mybatis 的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));// 里面不要填写 DbType.MYSQL 做限制,就能支持多数据源interceptor.addInnerInterceptor(new PaginationInnerInterceptor());return interceptor;}
}
http://www.hkea.cn/news/784954/

相关文章:

  • 大片播放网站国外免费推广网站有哪些
  • flash网站cms排名sem优化软件
  • 申请完域名怎么做网站百度链接提交
  • 驻马店市可以做网站的公司百度搜索竞价排名
  • 郑州市做网站吉林百度查关键词排名
  • 济宁网站建设seo抖音seo源码搭建
  • 茂名网站建设方案书简述seo和sem的区别
  • 江西网站做的好的企业文化百度指数在哪里看
  • 山东电商网站建设seo网站排名优化公司
  • 赤峰市做网站公司今日的最新消息
  • 上海最大的贸易公司seo网络推广机构
  • jsp 网站开发广告发布平台
  • b2c网站综合对比评价站长统计幸福宝
  • 网站建设意见做推广app赚钱的项目
  • 哈尔滨营销网站制作做外贸推广
  • 深圳网站建设外贸公司排名搜索热词排名
  • 网络科技公司招聘可靠吗seo多久可以学会
  • 企业网站建设的方案ppt网络营销的特点主要包括什么
  • 如何自行建设网站推广关键词优化
  • 建设学院网站百度收录关键词查询
  • 有关外贸的网站有哪些内容武汉抖音seo搜索
  • 娄底网站建设的话术深圳网站关键词排名优化
  • 福田大型商城网站建设seo营销方法
  • 网站开发专业就业指导企业网站设计与实现论文
  • 网络营销方式的思维导图seo关键词优化系统
  • wordpress访客ip记录福清市百度seo
  • 网站下载速度慢互联网广告推广公司
  • 电影网站空间配置网络营销的工具和方法有哪些
  • 包装设计网站免费百度seo搜索引擎优化厂家
  • 免费做公司网站sem对seo的影响有哪些