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 c904d31e0a2dcdcb13af836f9e1b6f58c7ca7727..828bd16e99b10070e55d3ba147652ad6bd7c480c 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 863af6187b71d09b998469fc7b8d27de7589d41e..7298039a5317af949fd8a89a0cf69f90ab622c1a 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 6de4f5f7d6a1d8b059c0ae4e3bfb8f48092dd127..51a4c0a1017067d32c18d88bf439488627c0a4e2 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 4f0dfa599e00010faabebcf42cbf308efccdce70..0a72d6399f2e1826ef9096235653c9fff3c3bc5a 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 a0bc47d72b1935e09315a5154bb843117b5efc48..7d21d0a795cd184ce1ca3560baf16ec72aa44763 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 b33ecc2d417ba2109ade1fd99834fecc7bfd0f15..ac6202950350bbcf0a8bd578567973beb8357e12 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 d9a5c9a904fd43b74006af298505c9255e8197c4..df00e3a6f25a38ecb78bcf8f0668617b864d9b66 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 a1eeb68a2098225df2f8d8d0fb868cf2b91445c2..ffcd28acde7adbb785fbcf42b669ca70ae1a9279 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 65872b2547d0df75b54e4d837ea0756279f24575..29b12f3f35d2131f84bb6b5eba830cac320da660 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 b4bc3bdd0ca11deed24f7bc1bfb03d8f8edd4f07..72ae5a732f453e136cc6223738065cf3d14fe72a 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 a532826617bf095b7eccc3111403110342e245e5..dc1d4a29299056a57718b7337150d0f0496a0751 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 3922bead64827585001cefa42acd8e23180c8093..be6c58b61bbbaa8f15e1308f155dd9428b6a8b49 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 aa218d9cd2530f23a1269d97696ae01b1d3da5ae..ee17a509c709a86b504bd76f2e7822375e0e334d 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