Parcourir la source

加入数据库连接池

lin il y a 5 ans
Parent
commit
dae7938e0a

+ 9 - 0
gydatasync/pom.xml

@@ -47,6 +47,15 @@
             <optional>true</optional>
         </dependency>
 
+
+        <!--数据库连接池-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+            <version>1.1.9</version>
+        </dependency>
+
+
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>

+ 1 - 0
gydatasync/src/main/java/com/huaxu/gydatasync/config/FirstDataBaseProperties.java

@@ -16,4 +16,5 @@ public class FirstDataBaseProperties {
     String username;
     String password;
     String driverClassName;
+    String type;
 }

+ 9 - 8
gydatasync/src/main/java/com/huaxu/gydatasync/config/FirstDataSourceConfig.java

@@ -1,5 +1,6 @@
 package com.huaxu.gydatasync.config;
 
+import com.alibaba.druid.pool.DruidDataSource;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.mybatis.spring.SqlSessionFactoryBean;
 import org.mybatis.spring.SqlSessionTemplate;
@@ -31,14 +32,14 @@ public class FirstDataSourceConfig {
     //    创建数据源
     @Bean(name = "firstDS")
     @Primary
-    public DataSource getFirstDataSource() {
-        DataSource build =  DataSourceBuilder.create()
-                .driverClassName(prop.driverClassName)
-                .url(prop.url)
-                .username(prop.username)
-                .password(prop.password)
-                .build();
-        return build;
+    public DruidDataSource getFirstDataSource() {
+        DruidDataSource dataSource = new DruidDataSource();
+        dataSource.setUrl(prop.url);
+        dataSource.setUsername(prop.username);
+        dataSource.setPassword(prop.password);
+        dataSource.setDriverClassName(prop.driverClassName);
+        dataSource.setDbType(prop.type);
+        return dataSource;
     }
 
 

+ 1 - 0
gydatasync/src/main/java/com/huaxu/gydatasync/config/SecondDataBaseProperties.java

@@ -16,4 +16,5 @@ public class SecondDataBaseProperties {
     String username;
     String password;
     String driverClassName;
+    String type;
 }

+ 9 - 8
gydatasync/src/main/java/com/huaxu/gydatasync/config/SecondDataSourceConfig.java

@@ -1,5 +1,6 @@
 package com.huaxu.gydatasync.config;
 
+import com.alibaba.druid.pool.DruidDataSource;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.mybatis.spring.SqlSessionFactoryBean;
 import org.mybatis.spring.SqlSessionTemplate;
@@ -26,14 +27,14 @@ public class SecondDataSourceConfig {
 
     //    创建数据源
     @Bean(name = "secondDS")
-    public DataSource getSecondDataSource() {
-        DataSource build =  DataSourceBuilder.create()
-                .driverClassName(prop.driverClassName)
-                .url(prop.url)
-                .username(prop.username)
-                .password(prop.password)
-                .build();
-        return build;
+    public DruidDataSource getSecondDataSource() {
+        DruidDataSource dataSource = new DruidDataSource();
+        dataSource.setUrl(prop.url);
+        dataSource.setUsername(prop.username);
+        dataSource.setPassword(prop.password);
+        dataSource.setDriverClassName(prop.driverClassName);
+        dataSource.setDbType(prop.type);
+        return dataSource;
     }
 
 

+ 20 - 2
gydatasync/src/main/resources/application-dev.properties

@@ -3,6 +3,7 @@ spring.datasource.first.url=jdbc:mysql://47.112.217.10:3306/smart_city?useUnicod
 spring.datasource.first.username=root
 spring.datasource.first.password=100Zone@123
 spring.datasource.first.driverClassName=com.mysql.cj.jdbc.Driver
+spring.datasource.first.type=com.alibaba.druid.pool.DruidDataSource
 
 spring.datasource.hikari.minimum-idle=1
 spring.datasource.hikari.maximum-pool-size=2
@@ -12,10 +13,27 @@ spring.datasource.second.url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=MISEMP
 spring.datasource.second.username=sa
 spring.datasource.second.password=hxyf123
 spring.datasource.second.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
+spring.datasource.second.type=com.alibaba.druid.pool.DruidDataSource
 
 logging.level.com.huaxu.gydatasync.dao.*=debug
 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
 
-//日志
+#日志
 logging.level.root=info
-logging.file.name=log.log
+logging.file.name=log.log
+
+
+spring.datasource.druid.initial-size=3
+spring.datasource.druid.min-idle=3
+spring.datasource.druid.max-active=5
+spring.datasource.druid.max-wait=60000
+spring.datasource.druid.time-between-eviction-runs-millis=60000
+spring.datasource.druid.min-evictable-idle-time-millis=300000
+spring.datasource.druid.validation-query=select 1 from dual
+spring.datasource.druid.test-while-idle=true
+spring.datasource.druid.test-on-borrow=true
+spring.datasource.druid.test-on-return=true
+spring.datasource.druid.pool-prepared-statements=true
+spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
+spring.datasource.druid.filters=stat
+spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

+ 19 - 1
gydatasync/src/main/resources/application-prd.properties

@@ -3,9 +3,27 @@ spring.datasource.first.url=jdbc:mysql://47.112.217.10:3306/smart_city?useUnicod
 spring.datasource.first.username=root
 spring.datasource.first.password=100Zone@123
 spring.datasource.first.driverClassName=com.mysql.cj.jdbc.Driver
+spring.datasource.first.type=com.alibaba.druid.pool.DruidDataSource
 
 #数据源mssql Second
 spring.datasource.second.url=jdbc:sqlserver://116.62.17.150:1433;DatabaseName=MISEMP
 spring.datasource.second.username=sa
 spring.datasource.second.password=Harry123
-spring.datasource.second.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
+spring.datasource.second.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
+spring.datasource.second.type=com.alibaba.druid.pool.DruidDataSource
+
+
+spring.datasource.druid.initial-size=3
+spring.datasource.druid.min-idle=3
+spring.datasource.druid.max-active=5
+spring.datasource.druid.max-wait=60000
+spring.datasource.druid.time-between-eviction-runs-millis=60000
+spring.datasource.druid.min-evictable-idle-time-millis=300000
+spring.datasource.druid.validation-query=select 1 from dual
+spring.datasource.druid.test-while-idle=true
+spring.datasource.druid.test-on-borrow=true
+spring.datasource.druid.test-on-return=false
+spring.datasource.druid.pool-prepared-statements=true
+spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
+spring.datasource.druid.filters=stat
+spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000