From f56f57a2364ff5cf1279527c2f130aae88b65ce7 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 11 十二月 2020 14:27:54 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue --- ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 94 insertions(+), 9 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java index 5c56edd..68d67f7 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java @@ -1,8 +1,17 @@ package com.ruoyi.framework.config; -import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; -import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; -import com.baomidou.mybatisplus.extension.plugins.SqlExplainInterceptor; +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator; +import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; +import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; +import com.baomidou.mybatisplus.core.injector.ISqlInjector; +import com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator; +import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.IllegalSQLInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -13,26 +22,102 @@ /** * 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷 + * https://baomidou.com/guide/interceptor-pagination.html */ @Bean - public PaginationInterceptor paginationInterceptor() { - return new PaginationInterceptor(); + public PaginationInnerInterceptor paginationInnerInterceptor() { + PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); + // 璁剧疆鏁版嵁搴撶被鍨嬩负mysql + paginationInnerInterceptor.setDbType(DbType.MYSQL); + // 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗 + paginationInnerInterceptor.setMaxLimit(-1L); + return paginationInnerInterceptor; + } + + /** + * 鏂扮殑鍒嗛〉鎻掍欢,涓�缂撳拰浜岀紦閬靛惊mybatis鐨勮鍒�,闇�瑕佽缃� MybatisConfiguration#useDeprecatedExecutor = false 閬垮厤缂撳瓨鍑虹幇闂(璇ュ睘鎬т細鍦ㄦ棫鎻掍欢绉婚櫎鍚庝竴鍚岀Щ闄�) + */ + @Bean + public ConfigurationCustomizer configurationCustomizer() { + return configuration -> configuration.setUseDeprecatedExecutor(false); } /** * 涔愯閿佹彃浠� + * https://baomidou.com/guide/interceptor-optimistic-locker.html */ @Bean - public OptimisticLockerInterceptor optimisticLockerInterceptor() { - return new OptimisticLockerInterceptor(); + public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() { + return new OptimisticLockerInnerInterceptor(); } /** * 濡傛灉鏄鍏ㄨ〃鐨勫垹闄ゆ垨鏇存柊鎿嶄綔锛屽氨浼氱粓姝㈣鎿嶄綔 + * https://baomidou.com/guide/interceptor-block-attack.html */ @Bean - public SqlExplainInterceptor sqlExplainInterceptor() { - return new SqlExplainInterceptor(); + public BlockAttackInnerInterceptor blockAttackInnerInterceptor() { + return new BlockAttackInnerInterceptor(); } + /** + * sql鎬ц兘瑙勮寖鎻掍欢(鍨冨溇SQL鎷︽埅) + * 濡傛湁闇�瑕佸彲浠ュ惎鐢� + */ +// @Bean +// public IllegalSQLInnerInterceptor illegalSQLInnerInterceptor() { +// return new IllegalSQLInnerInterceptor(); +// } + + /** + * Sequence涓婚敭绛栫暐 IdType.INPUT 鏃朵娇鐢� + * 鍐呯疆鏀寔锛� + * + * DB2KeyGenerator + * H2KeyGenerator + * KingbaseKeyGenerator + * OracleKeyGenerator + * PostgreKeyGenerator + * https://baomidou.com/guide/sequence.html + */ +// @Bean +// public IKeyGenerator keyGenerator() { +// return new H2KeyGenerator(); +// } + + + /** + * 鑷畾涔変富閿瓥鐣� + * https://baomidou.com/guide/id-generator.html + */ +// @Bean +// public IdentifierGenerator idGenerator() { +// return new CustomIdGenerator(); +// } + + /** + * 鍏冨璞″瓧娈靛~鍏呮帶鍒跺櫒 + * https://baomidou.com/guide/auto-fill-metainfo.html + */ +// @Bean +// public MetaObjectHandler metaObjectHandler() { +// return new MyMetaObjectHandler(); +// } + + /** + * sql娉ㄥ叆鍣ㄩ厤缃� + * https://baomidou.com/guide/sql-injector.html + */ +// @Bean +// public ISqlInjector sqlInjector() { +// return new DefaultSqlInjector(); +// } + + /** + * TenantLineInnerInterceptor 澶氱鎴锋彃浠� + * https://baomidou.com/guide/interceptor-tenant-line.html + * DynamicTableNameInnerInterceptor 鍔ㄦ�佽〃鍚嶆彃浠� + * https://baomidou.com/guide/interceptor-dynamic-table-name.html + */ + } -- Gitblit v1.9.3