diff --git a/pom.xml b/pom.xml
index 50dba03..fb05998 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,8 +17,11 @@
UTF-8
UTF-8
17
+ 3.0.8
+ 1.4.9
+ 8.0.33
3.1.1
- 1.2.18
+ 5.0.1
1.21
3.0.0
2.3.3
@@ -31,6 +34,8 @@
4.1.2
2.3
0.9.1
+ 6.0.0
+ 32.1.1-jre
1.5.0
@@ -42,16 +47,42 @@
org.springframework.boot
spring-boot-dependencies
- 3.0.8
+ ${spring-boot.version}
pom
import
-
- com.alibaba
- druid-spring-boot-3-starter
- ${druid.version}
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+
+
+ com.zaxxer
+ HikariCP
+ ${HikariCP.version}
+
+
+
+
+ com.mybatis-flex
+ mybatis-flex-spring-boot-starter
+ ${mybatis-flex.version}
+
+
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.version}
+
+
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ ${servlet-api.version}
@@ -142,6 +173,12 @@
${kaptcha.version}
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
com.ruoyi
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 9c725d4..46962ce 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -41,7 +41,12 @@
mysql
mysql-connector-java
- 8.0.33
+
+
+
+
+ com.mybatis-flex
+ mybatis-flex-spring-boot-starter
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index 75ea2c0..f1f6691 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -1,5 +1,6 @@
package com.ruoyi;
+import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@@ -9,7 +10,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
*
* @author ruoyi
*/
-@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
+@SpringBootApplication
public class RuoYiApplication
{
public static void main(String[] args)
diff --git a/ruoyi-admin/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-admin/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index ee2e6c1..0000000
--- a/ruoyi-admin/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1 +0,0 @@
-com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..b85b457
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -0,0 +1,31 @@
+# 多数据源配置
+mybatis-flex:
+ datasource:
+ # 数据源-1
+ PrimaryDS:
+ # 指定为HikariDataSource
+ type: com.zaxxer.hikari.HikariDataSource
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ username: root
+ password: Root@369
+
+ hikari:
+ #连接池名
+ pool-name: HikariCP-PrimaryDS
+ #最小空闲连接数
+ minimum-idle: 5
+ # 空闲连接存活最大时间,默认10分钟
+ idle-timeout: 600000
+ # 连接池最大连接数,默认是10
+ maximum-pool-size: 10
+ # 此属性控制从池返回的连接的默认自动提交行为,默认值:true
+ auto-commit: true
+ # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认30分钟
+ max-lifetime: 1800000
+ # 数据库连接超时时间,默认30秒
+ connection-timeout: 30000
+ # 连接测试query
+ connection-test-query: SELECT 1
+
+
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
deleted file mode 100644
index 3e90c76..0000000
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ /dev/null
@@ -1,61 +0,0 @@
-# 数据源配置
-spring:
- datasource:
- type: com.alibaba.druid.pool.DruidDataSource
- driverClassName: com.mysql.cj.jdbc.Driver
- druid:
- # 主库数据源
- master:
- url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- username: root
- password: Root@369
- # 从库数据源
- slave:
- # 从数据源开关/默认关闭
- enabled: false
- url:
- username:
- password:
- # 初始连接数
- initialSize: 5
- # 最小连接池数量
- minIdle: 10
- # 最大连接池数量
- maxActive: 20
- # 配置获取连接等待超时的时间
- maxWait: 60000
- # 配置连接超时时间
- connectTimeout: 30000
- # 配置网络超时时间
- socketTimeout: 60000
- # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
- timeBetweenEvictionRunsMillis: 60000
- # 配置一个连接在池中最小生存的时间,单位是毫秒
- minEvictableIdleTimeMillis: 300000
- # 配置一个连接在池中最大生存的时间,单位是毫秒
- maxEvictableIdleTimeMillis: 900000
- # 配置检测连接是否有效
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- webStatFilter:
- enabled: true
- statViewServlet:
- enabled: true
- # 设置白名单,不填则允许所有访问
- allow:
- url-pattern: /druid/*
- # 控制台管理用户名和密码
- login-username: ruoyi
- login-password: 123456
- filter:
- stat:
- enabled: true
- # 慢SQL记录
- log-slow-sql: true
- slow-sql-millis: 1000
- merge-sql: true
- wall:
- config:
- multi-statement-allow: true
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 48fc614..7106ce2 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -59,7 +59,7 @@ spring:
# 国际化资源文件路径
basename: i18n/messages
profiles:
- active: druid
+ active: dev
# 文件上传
servlet:
multipart:
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 00c2be6..87ba79b 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -17,6 +17,12 @@
+
+
+ com.zaxxer
+ HikariCP
+
+
org.springframework
@@ -45,7 +51,6 @@
com.mybatis-flex
mybatis-flex-spring-boot-starter
- 1.4.7
@@ -65,13 +70,6 @@
com.fasterxml.jackson.core
jackson-databind
-
-
-
- com.baomidou
- dynamic-datasource-spring-boot-starter
- 3.5.2
-
@@ -132,7 +130,6 @@
jakarta.servlet
jakarta.servlet-api
- 6.0.0
diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml
index df7bee6..c68fe8c 100644
--- a/ruoyi-framework/pom.xml
+++ b/ruoyi-framework/pom.xml
@@ -40,12 +40,6 @@
spring-boot-starter-aop
-
-
- com.alibaba
- druid-spring-boot-3-starter
-
-
pro.fessional
@@ -61,7 +55,6 @@
com.google.guava
guava
- 32.1.1-jre
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
deleted file mode 100644
index 8c2c9f4..0000000
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.ruoyi.framework.aspectj;
-
-import java.util.Objects;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.aspectj.lang.reflect.MethodSignature;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Component;
-import com.ruoyi.common.annotation.DataSource;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.framework.datasource.DynamicDataSourceContextHolder;
-
-/**
- * 多数据源处理
- *
- * @author ruoyi
- */
-@Aspect
-@Order(1)
-@Component
-public class DataSourceAspect
-{
- protected Logger logger = LoggerFactory.getLogger(getClass());
-
- @Pointcut("@annotation(com.ruoyi.common.annotation.DataSource)"
- + "|| @within(com.ruoyi.common.annotation.DataSource)")
- public void dsPointCut()
- {
-
- }
-
- @Around("dsPointCut()")
- public Object around(ProceedingJoinPoint point) throws Throwable
- {
- DataSource dataSource = getDataSource(point);
-
- if (StringUtils.isNotNull(dataSource))
- {
- DynamicDataSourceContextHolder.setDataSourceType(dataSource.value().name());
- }
-
- try
- {
- return point.proceed();
- }
- finally
- {
- // 销毁数据源 在执行方法之后
- DynamicDataSourceContextHolder.clearDataSourceType();
- }
- }
-
- /**
- * 获取需要切换的数据源
- */
- public DataSource getDataSource(ProceedingJoinPoint point)
- {
- MethodSignature signature = (MethodSignature) point.getSignature();
- DataSource dataSource = AnnotationUtils.findAnnotation(signature.getMethod(), DataSource.class);
- if (Objects.nonNull(dataSource))
- {
- return dataSource;
- }
-
- return AnnotationUtils.findAnnotation(signature.getDeclaringType(), DataSource.class);
- }
-}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java
deleted file mode 100644
index 36c9bd8..0000000
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package com.ruoyi.framework.config;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import jakarta.servlet.Filter;
-import jakarta.servlet.FilterChain;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.ServletRequest;
-import jakarta.servlet.ServletResponse;
-import javax.sql.DataSource;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.web.servlet.FilterRegistrationBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import com.alibaba.druid.pool.DruidDataSource;
-import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceBuilder;
-import com.alibaba.druid.spring.boot3.autoconfigure.properties.DruidStatProperties;
-import com.alibaba.druid.util.Utils;
-import com.ruoyi.common.enums.DataSourceType;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.framework.config.properties.DruidProperties;
-import com.ruoyi.framework.datasource.DynamicDataSource;
-
-/**
- * druid 配置多数据源
- *
- * @author ruoyi
- */
-@Configuration
-public class DruidConfig
-{
- @Bean
- @ConfigurationProperties("spring.datasource.druid.master")
- public DataSource masterDataSource(DruidProperties druidProperties)
- {
- DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
- return druidProperties.dataSource(dataSource);
- }
-
- @Bean
- @ConfigurationProperties("spring.datasource.druid.slave")
- @ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true")
- public DataSource slaveDataSource(DruidProperties druidProperties)
- {
- DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
- return druidProperties.dataSource(dataSource);
- }
-
- @Bean(name = "dynamicDataSource")
- @Primary
- public DynamicDataSource dataSource(DataSource masterDataSource)
- {
- Map