From 0bc4bad11d414a20017f9560c6d8f87dd9539bd7 Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Mon, 28 Jul 2025 13:46:44 +0800 Subject: [PATCH] =?UTF-8?q?7.28=E6=95=B0=E6=8D=AE=E5=BA=93=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/config/Mysql1DataSourceConfig.java | 2 +- .../demo/config/Mysql2DataSourceConfig.java | 47 +++++++++++++++++ .../demo/config/Mysql3DataSourceConfig.java | 47 +++++++++++++++++ src/main/resources/application.yml | 61 ++++++++-------------- 4 files changed, 118 insertions(+), 39 deletions(-) create mode 100644 src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java create mode 100644 src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java diff --git a/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java index be58aa2..3687418 100644 --- a/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java +++ b/src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java @@ -20,7 +20,7 @@ public class Mysql1DataSourceConfig { @Bean(name = "mysql1DataSource") @ConfigurationProperties(prefix = "spring.datasource.mysql1") -public DataSource mysql2DataSource() { +public DataSource mysql1DataSource() { return DataSourceBuilder.create().type(HikariDataSource.class).build(); } @Bean(name = "mysql1SqlSessionFactory") diff --git a/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java new file mode 100644 index 0000000..2e94cf2 --- /dev/null +++ b/src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java @@ -0,0 +1,47 @@ +package com.example.demo.config; + +import com.zaxxer.hikari.HikariDataSource; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + +@Slf4j +@Configuration +public class Mysql2DataSourceConfig { + + @Bean(name = "mysql2DataSource") + @ConfigurationProperties(prefix = "spring.datasource.mysql2") + public DataSource mysql2DataSource() { + return DataSourceBuilder.create().type(HikariDataSource.class).build(); + } + @Bean(name = "mysql2SqlSessionFactory") +// @Primary + public SqlSessionFactory mysql2SqlSessionFactory(@Qualifier("mysql2DataSource") DataSource dataSource, + @Qualifier("globalConfiguration2") org.apache.ibatis.session.Configuration globalConfiguration2) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:jindouMapper/*.xml")); + sessionFactory.setConfiguration(globalConfiguration2); + return sessionFactory.getObject(); + } + + @Bean(name = "mysql2SqlSessionTemplate") +// @Primary + public SqlSessionTemplate mysql2SqlSessionTemplate(@Qualifier("mysql2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { + return new SqlSessionTemplate(sqlSessionFactory); + } + @Bean + @ConfigurationProperties(prefix = "mybatis.configuration.mysql2") + public org.apache.ibatis.session.Configuration globalConfiguration2() { + return new org.apache.ibatis.session.Configuration(); + } +} diff --git a/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java b/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java new file mode 100644 index 0000000..52577d3 --- /dev/null +++ b/src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java @@ -0,0 +1,47 @@ +package com.example.demo.config; + +import com.zaxxer.hikari.HikariDataSource; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.SqlSessionTemplate; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.jdbc.DataSourceBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import javax.sql.DataSource; + +@Slf4j +@Configuration +public class Mysql3DataSourceConfig { + + @Bean(name = "mysql3DataSource") + @ConfigurationProperties(prefix = "spring.datasource.mysql3") + public DataSource mysql2DataSource() { + return DataSourceBuilder.create().type(HikariDataSource.class).build(); + } + @Bean(name = "mysql3SqlSessionFactory") +// @Primary + public SqlSessionFactory mysql3SqlSessionFactory(@Qualifier("mysql3DataSource") DataSource dataSource, + @Qualifier("globalConfiguration3") org.apache.ibatis.session.Configuration globalConfiguration3) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:jindouMapper/*.xml")); + sessionFactory.setConfiguration(globalConfiguration3); + return sessionFactory.getObject(); + } + + @Bean(name = "mysql3SqlSessionTemplate") +// @Primary + public SqlSessionTemplate mysql3SqlSessionTemplate(@Qualifier("mysql3SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { + return new SqlSessionTemplate(sqlSessionFactory); + } + @Bean + @ConfigurationProperties(prefix = "mybatis.configuration.mysql3") + public org.apache.ibatis.session.Configuration globalConfiguration3() { + return new org.apache.ibatis.session.Configuration(); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 06fbadb..4031b8d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -13,38 +13,23 @@ spring: hikari: pool-name: mysql1HikariCP maximum-pool-size: 10 - # mysql1: - # jdbc-url: jdbc:mysql://54.251.137.151:10701/hwgold?serverTimezone=Asia/Shanghai - # username: hwgold - # password: AGX4Z3YMxiCG3GR2 - # driver-class-name: com.mysql.cj.jdbc.Driver - # hikari: - # pool-name: mysql1HikariCP - # maximum-pool-size: 10 -# mysql1: -# jdbc-url: jdbc:mysql://39.101.133.168:3306/hwgold?serverTimezone=Asia/Shanghai -# username: hwgold -# password: AGX4Z3YMxiCG3GR2 -# driver-class-name: com.mysql.cj.jdbc.Driver -# hikari: -# pool-name: mysql1HikariCP -# maximum-pool-size: 10 -# mysql2: -# jdbc-url: jdbc:mysql://39.101.133.168:3306/hljw?serverTimezone=Asia/Shanghai -# username: hljw -# password: 5dmWCCKfEk3TTeyn -# driver-class-name: com.mysql.cj.jdbc.Driver -# hikari: -# pool-name: mysql2HikariCP -# maximum-pool-size: 10 -# mysql3: -# jdbc-url: jdbc:mysql://121.89.234.155:3306/pay_xxcg_com?serverTimezone=Asia/Shanghai -# username: pay_xxcg_com -# password: 4hHmzxZH4rF4c5xr -# driver-class-name: com.mysql.cj.jdbc.Driver -# hikari: -# pool-name: mysql2HikariCP -# maximum-pool-size: 10 + + mysql2: + jdbc-url: jdbc:mysql://39.101.133.168:3306/hljw?serverTimezone=Asia/Shanghai + username: hljw + password: 5dmWCCKfEk3TTeyn + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: mysql2HikariCP + maximum-pool-size: 10 + mysql3: + jdbc-url: jdbc:mysql://121.89.234.155:3306/pay_xxcg_com?serverTimezone=Asia/Shanghai + username: pay_xxcg_com + password: 4hHmzxZH4rF4c5xr + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: mysql2HikariCP + maximum-pool-size: 10 sqlserver1: jdbc-url: jdbc:sqlserver://52.76.43.43:1433;databaseName=hwhcGold;encrypt=true;sslProtocol=TLSv1;trustServerCertificate=true; username: hwhc_gold_query @@ -88,12 +73,12 @@ mybatis: sqlserver1: map-underscore-to-camel-case: true # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl -# mysql2: -# map-underscore-to-camel-case: true -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl -# mysql3: -# map-underscore-to-camel-case: true -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mysql2: + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mysql3: + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl upload: path: D:\upload