From 2ede5dbc095fc01c1886c7f188f57d2952b2195f Mon Sep 17 00:00:00 2001 From: stylefeng Date: Thu, 10 Jan 2019 18:26:16 +0800 Subject: [PATCH] =?UTF-8?q?!3=20=E7=BB=84=E4=BB=B6=E5=8D=87=E7=BA=A7spring?= =?UTF-8?q?=20boot->2.1.1=20mybatis=20plus->=203.0.7.1=20Merge=20pull=20re?= =?UTF-8?q?quest=20!3=20from=20tankxxl/master?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/warpper/BaseControllerWrapper.java | 2 +- .../MybatisDataSourceAutoConfiguration.java | 19 ++++- .../core/datascope/DataScopeInterceptor.java | 2 +- .../roses/core/db/DbInitializer.java | 2 +- .../metadata/CustomMetaObjectHandler.java | 4 +- .../roses/core/page/PageFactory.java | 84 +++++++++---------- .../main/resources/default-config.properties | 2 +- kernel-generator/pom.xml | 4 +- .../kernel/generator/SimpleGenerator.java | 4 +- .../chain/aop/ChainOnControllerAop.java | 2 +- .../logger/chain/aop/ChainOnProviderAop.java | 2 +- .../roses/kernel/model/page/PageResult.java | 6 +- pom.xml | 14 ++-- 13 files changed, 79 insertions(+), 68 deletions(-) diff --git a/kernel-core/src/main/java/cn/stylefeng/roses/core/base/warpper/BaseControllerWrapper.java b/kernel-core/src/main/java/cn/stylefeng/roses/core/base/warpper/BaseControllerWrapper.java index c904d31..828bd16 100644 --- a/kernel-core/src/main/java/cn/stylefeng/roses/core/base/warpper/BaseControllerWrapper.java +++ b/kernel-core/src/main/java/cn/stylefeng/roses/core/base/warpper/BaseControllerWrapper.java @@ -15,8 +15,8 @@ */ package cn.stylefeng.roses.core.base.warpper; -import com.baomidou.mybatisplus.plugins.Page; import cn.stylefeng.roses.kernel.model.page.PageResult; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.List; import java.util.Map; diff --git a/kernel-core/src/main/java/cn/stylefeng/roses/core/config/MybatisDataSourceAutoConfiguration.java b/kernel-core/src/main/java/cn/stylefeng/roses/core/config/MybatisDataSourceAutoConfiguration.java index 863af61..7298039 100644 --- a/kernel-core/src/main/java/cn/stylefeng/roses/core/config/MybatisDataSourceAutoConfiguration.java +++ b/kernel-core/src/main/java/cn/stylefeng/roses/core/config/MybatisDataSourceAutoConfiguration.java @@ -16,11 +16,14 @@ package cn.stylefeng.roses.core.config; import cn.stylefeng.roses.core.config.properties.DruidProperties; +import cn.stylefeng.roses.core.metadata.CustomMetaObjectHandler; import com.alibaba.druid.pool.DruidDataSource; -import com.baomidou.mybatisplus.enums.DBType; -import com.baomidou.mybatisplus.plugins.PaginationInterceptor; +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -55,10 +58,20 @@ public class MybatisDataSourceAutoConfiguration { @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); - paginationInterceptor.setDialectType(DBType.MYSQL.getDb()); + if (druidProperties.getUrl().contains("oracle")) { + paginationInterceptor.setDialectType(DbType.ORACLE.getDb()); + } else { + paginationInterceptor.setDialectType(DbType.MYSQL.getDb()); + } return paginationInterceptor; } + @ConditionalOnMissingBean + @Bean + public MetaObjectHandler metaObjectHandler() { + return new CustomMetaObjectHandler(); + } + /** * druid数据库连接池 */ diff --git a/kernel-core/src/main/java/cn/stylefeng/roses/core/datascope/DataScopeInterceptor.java b/kernel-core/src/main/java/cn/stylefeng/roses/core/datascope/DataScopeInterceptor.java index 6de4f5f..51a4c0a 100644 --- a/kernel-core/src/main/java/cn/stylefeng/roses/core/datascope/DataScopeInterceptor.java +++ b/kernel-core/src/main/java/cn/stylefeng/roses/core/datascope/DataScopeInterceptor.java @@ -2,7 +2,7 @@ package cn.stylefeng.roses.core.datascope; import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.toolkit.PluginUtils; +import com.baomidou.mybatisplus.core.toolkit.PluginUtils; import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; diff --git a/kernel-core/src/main/java/cn/stylefeng/roses/core/db/DbInitializer.java b/kernel-core/src/main/java/cn/stylefeng/roses/core/db/DbInitializer.java index 4f0dfa5..0a72d63 100644 --- a/kernel-core/src/main/java/cn/stylefeng/roses/core/db/DbInitializer.java +++ b/kernel-core/src/main/java/cn/stylefeng/roses/core/db/DbInitializer.java @@ -19,9 +19,9 @@ import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.core.util.ToolUtil; import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.mapper.SqlRunner; import cn.stylefeng.roses.kernel.model.exception.ServiceException; import cn.stylefeng.roses.kernel.model.exception.enums.CoreExceptionEnum; +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; diff --git a/kernel-core/src/main/java/cn/stylefeng/roses/core/metadata/CustomMetaObjectHandler.java b/kernel-core/src/main/java/cn/stylefeng/roses/core/metadata/CustomMetaObjectHandler.java index a0bc47d..7d21d0a 100644 --- a/kernel-core/src/main/java/cn/stylefeng/roses/core/metadata/CustomMetaObjectHandler.java +++ b/kernel-core/src/main/java/cn/stylefeng/roses/core/metadata/CustomMetaObjectHandler.java @@ -15,7 +15,7 @@ */ package cn.stylefeng.roses.core.metadata; -import com.baomidou.mybatisplus.mapper.MetaObjectHandler; +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import java.util.Date; @@ -30,7 +30,7 @@ import java.util.Date; * @author fengshuonan * @Date 2018/7/4 下午12:42 */ -public class CustomMetaObjectHandler extends MetaObjectHandler { +public class CustomMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { diff --git a/kernel-core/src/main/java/cn/stylefeng/roses/core/page/PageFactory.java b/kernel-core/src/main/java/cn/stylefeng/roses/core/page/PageFactory.java index b33ecc2..ac62029 100644 --- a/kernel-core/src/main/java/cn/stylefeng/roses/core/page/PageFactory.java +++ b/kernel-core/src/main/java/cn/stylefeng/roses/core/page/PageFactory.java @@ -19,9 +19,9 @@ import cn.stylefeng.roses.core.context.RequestDataHolder; import cn.stylefeng.roses.core.reqres.request.RequestData; import cn.stylefeng.roses.core.util.HttpContext; import cn.stylefeng.roses.core.util.ToolUtil; -import com.baomidou.mybatisplus.plugins.Page; import cn.stylefeng.roses.kernel.model.page.PageQuery; import cn.stylefeng.roses.kernel.model.util.ValidateUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import javax.servlet.http.HttpServletRequest; @@ -74,38 +74,39 @@ public class PageFactory { if (request == null) { return new Page<>(pageNo, pageSize); - } else { - //每页条数 - String pageSizeString = getFieldValue(request, PAGE_SIZE_PARAM_NAME); - if (ValidateUtil.isNotEmpty(pageSizeString)) { - pageSize = Integer.valueOf(pageSizeString); - } - - //第几页 - String pageNoString = getFieldValue(request, PAGE_NO_PARAM_NAME); - if (ValidateUtil.isNotEmpty(pageNoString)) { - pageNo = Integer.valueOf(pageNoString); - } + } - //获取排序字段和排序类型(asc/desc) - String sort = getFieldValue(request, SORT_PARAM_NAME); - String orderByField = getFieldValue(request, ORDER_BY_PARAM_NAME); + //每页条数 + String pageSizeString = getFieldValue(request, PAGE_SIZE_PARAM_NAME); + if (ValidateUtil.isNotEmpty(pageSizeString)) { + pageSize = Integer.valueOf(pageSizeString); + } - if (ToolUtil.isEmpty(sort)) { - Page page = new Page<>(pageNo, pageSize); - page.setOpenSort(false); - return page; - } else { - Page page = new Page<>(pageNo, pageSize, orderByField); - if (ASC.equalsIgnoreCase(sort)) { - page.setAsc(true); - } else { - page.setAsc(false); - } - return page; - } + //第几页 + String pageNoString = getFieldValue(request, PAGE_NO_PARAM_NAME); + if (ValidateUtil.isNotEmpty(pageNoString)) { + pageNo = Integer.valueOf(pageNoString); } + //获取排序字段和排序类型(asc/desc) + String sort = getFieldValue(request, SORT_PARAM_NAME); + String orderByField = getFieldValue(request, ORDER_BY_PARAM_NAME); + + Page page = new Page<>(pageNo, pageSize); + if (ToolUtil.isEmpty(orderByField)) { + return page; + } + if (ToolUtil.isEmpty(sort)) { + // 默认降序 + page.setDesc(orderByField); + return page; + } + if (ASC.equalsIgnoreCase(sort)) { + page.setAsc(orderByField); + } else { + page.setDesc(orderByField); + } + return page; } /** @@ -129,23 +130,20 @@ public class PageFactory { if (pageQuery == null) { Page page = new Page<>(pageNo, pageSize); - page.setOpenSort(false); + // page.setOpenSort(false); + return page; + } + + Page page = new Page<>(pageNo, pageSize); + if (ToolUtil.isEmpty(pageQuery.getSort())) { return page; + } + if (ASC.equalsIgnoreCase(pageQuery.getSort())) { + page.setAsc(pageQuery.getOrderByField()); } else { - if (ToolUtil.isEmpty(pageQuery.getSort())) { - Page page = new Page<>(pageNo, pageSize); - page.setOpenSort(false); - return page; - } else { - Page page = new Page<>(pageNo, pageSize, pageQuery.getOrderByField()); - if (ASC.equalsIgnoreCase(pageQuery.getSort())) { - page.setAsc(true); - } else { - page.setAsc(false); - } - return page; - } + page.setDesc(pageQuery.getOrderByField()); } + return page; } /** diff --git a/kernel-core/src/main/resources/default-config.properties b/kernel-core/src/main/resources/default-config.properties index d9a5c9a..df00e3a 100644 --- a/kernel-core/src/main/resources/default-config.properties +++ b/kernel-core/src/main/resources/default-config.properties @@ -14,7 +14,7 @@ mybatis-plus.global-config.db-column-underline=true mybatis-plus.global-config.refresh-mapper=true mybatis-plus.configuration.map-underscore-to-camel-case=true # \u6570\u636E\u586B\u5145\u5668 -mybatis-plus.global-config.metaObject-handler=cn.stylefeng.roses.core.metadata.CustomMetaObjectHandler +#mybatis-plus.global-config.metaObject-handler=cn.stylefeng.roses.core.metadata.CustomMetaObjectHandler # \u914D\u7F6E\u7684\u7F13\u5B58\u7684\u5168\u5C40\u5F00\u5173 mybatis-plus.configuration.cache-enabled=true # \u5EF6\u65F6\u52A0\u8F7D\u7684\u5F00\u5173 diff --git a/kernel-generator/pom.xml b/kernel-generator/pom.xml index a1eeb68..ffcd28a 100644 --- a/kernel-generator/pom.xml +++ b/kernel-generator/pom.xml @@ -21,8 +21,8 @@ com.baomidou - mybatis-plus - 2.1.9 + mybatis-plus-generator + 3.0.6 org.apache.velocity diff --git a/kernel-generator/src/main/java/cn/stylefeng/roses/kernel/generator/SimpleGenerator.java b/kernel-generator/src/main/java/cn/stylefeng/roses/kernel/generator/SimpleGenerator.java index 65872b2..29b12f3 100644 --- a/kernel-generator/src/main/java/cn/stylefeng/roses/kernel/generator/SimpleGenerator.java +++ b/kernel-generator/src/main/java/cn/stylefeng/roses/kernel/generator/SimpleGenerator.java @@ -15,11 +15,11 @@ */ package cn.stylefeng.roses.kernel.generator; -import com.baomidou.mybatisplus.enums.FieldFill; +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.po.TableFill; -import com.baomidou.mybatisplus.generator.config.rules.DbType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import java.util.ArrayList; diff --git a/kernel-logger/src/main/java/cn/stylefeng/roses/kernel/logger/chain/aop/ChainOnControllerAop.java b/kernel-logger/src/main/java/cn/stylefeng/roses/kernel/logger/chain/aop/ChainOnControllerAop.java index b4bc3bd..72ae5a7 100644 --- a/kernel-logger/src/main/java/cn/stylefeng/roses/kernel/logger/chain/aop/ChainOnControllerAop.java +++ b/kernel-logger/src/main/java/cn/stylefeng/roses/kernel/logger/chain/aop/ChainOnControllerAop.java @@ -22,10 +22,10 @@ import cn.stylefeng.roses.kernel.logger.chain.context.SpanIdContext; import cn.stylefeng.roses.kernel.logger.chain.context.SpanIdHolder; import cn.stylefeng.roses.kernel.logger.chain.context.TraceIdHolder; import cn.stylefeng.roses.kernel.logger.chain.enums.RpcPhaseEnum; -import com.baomidou.mybatisplus.toolkit.IdWorker; import cn.stylefeng.roses.kernel.logger.sql.log.SqlHolder; import cn.stylefeng.roses.kernel.logger.util.TraceUtil; import cn.stylefeng.roses.kernel.model.auth.context.LoginUserHolder; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.Signature; import org.aspectj.lang.annotation.Around; diff --git a/kernel-logger/src/main/java/cn/stylefeng/roses/kernel/logger/chain/aop/ChainOnProviderAop.java b/kernel-logger/src/main/java/cn/stylefeng/roses/kernel/logger/chain/aop/ChainOnProviderAop.java index a532826..dc1d4a2 100644 --- a/kernel-logger/src/main/java/cn/stylefeng/roses/kernel/logger/chain/aop/ChainOnProviderAop.java +++ b/kernel-logger/src/main/java/cn/stylefeng/roses/kernel/logger/chain/aop/ChainOnProviderAop.java @@ -25,7 +25,7 @@ import cn.stylefeng.roses.kernel.logger.chain.enums.RpcPhaseEnum; import cn.stylefeng.roses.kernel.logger.util.TraceUtil; import cn.stylefeng.roses.kernel.model.auth.context.LoginUserHolder; import cn.stylefeng.roses.kernel.validator.util.CheckUtil; -import com.baomidou.mybatisplus.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.Signature; import org.aspectj.lang.annotation.Around; diff --git a/kernel-model/src/main/java/cn/stylefeng/roses/kernel/model/page/PageResult.java b/kernel-model/src/main/java/cn/stylefeng/roses/kernel/model/page/PageResult.java index 3922bea..be6c58b 100644 --- a/kernel-model/src/main/java/cn/stylefeng/roses/kernel/model/page/PageResult.java +++ b/kernel-model/src/main/java/cn/stylefeng/roses/kernel/model/page/PageResult.java @@ -15,7 +15,7 @@ */ package cn.stylefeng.roses.kernel.model.page; -import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.Data; import java.io.Serializable; @@ -44,8 +44,8 @@ public class PageResult implements Serializable { public PageResult(Page page) { this.setRows(page.getRecords()); this.setTotalRows(page.getTotal()); - this.setPage(page.getCurrent()); - this.setPageSize(page.getSize()); + this.setPage((int) page.getCurrent()); + this.setPageSize((int) page.getSize()); } } diff --git a/pom.xml b/pom.xml index aa218d9..ee17a50 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.1.RELEASE + 2.1.1.RELEASE @@ -36,14 +36,14 @@ UTF-8 UTF-8 Finchley.RELEASE - 2.3 - 1.2.47 - 1.1.10 + 3.0.7.1 + 1.2.54 + 1.1.12 2.3.2 0.9.1 - 4.1.2 - 2.0.1 - 1.18.0 + 4.4.0 + 2.1.1 + 1.18.4 -- Gitee