日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot2.1.9 多数据源Mybatis—JDBC配置

發布時間:2023/12/3 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot2.1.9 多数据源Mybatis—JDBC配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、配置文件
pom.xm

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId> </dependency> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.48</version><scope>runtime</scope> </dependency>

application.yml

spring:application:name: double-datasource-mybatis-jdbcprofiles:active: devjackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8server:port: 8008mybatis:#mapper-locations: classpath*:mapper/*.xmltype-aliases-package: com.mk.entity.* # 注意:對應實體類的路徑configuration:map-underscore-to-camel-case: truesys:one-mybatis:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.1.2:3307/testdb01?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaiusername: rootpassword: admin123druid:initial-size: 10max-active: 100min-idle: 10max-wait: 60000pool-prepared-statements: truemax-pool-prepared-statement-per-connection-size: 20time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000validation-query: SELECT 1 FROM DUALtest-while-idle: truetest-on-borrow: falsetest-on-return: falsefilter:stat:log-slow-sql: trueslow-sql-millis: 1000merge-sql: trueenabled: truewall:config:multi-statement-allow: truestat-view-servlet:enabled: falsetwo-jdbc:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.1.2:3307/testdb02?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaiusername: rootpassword: admin123druid:initial-size: 10max-active: 100min-idle: 10max-wait: 60000pool-prepared-statements: truemax-pool-prepared-statement-per-connection-size: 20time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000validation-query: SELECT 1 FROM DUALtest-while-idle: truetest-on-borrow: falsetest-on-return: falsefilter:stat:log-slow-sql: trueslow-sql-millis: 1000merge-sql: trueenabled: truewall:config:multi-statement-allow: truestat-view-servlet:enabled: false

二、配置Configuration Bean

(1)第一個Mybatis數據源配置(主)

public class MybatisDataSourceConfig {@Primary@Bean@ConfigurationProperties(prefix = "sys.one-mybatis.datasource")public DataSourceProperties oneDataSourceProperties() {return new DataSourceProperties();}@Primary@Beanpublic DataSource oneDataSource(@Qualifier("oneDataSourceProperties") DataSourceProperties dataSourceProperties) {DataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().build();return dataSource;}@Primary@Bean@ConfigurationProperties(prefix = "mybatis")public MybatisProperties oneMybatisProperties(){return new MybatisProperties();}@Primary@Beanpublic SqlSessionFactoryBean oneSqlSessionFactoryBean(@Qualifier("oneDataSource") DataSource dataSource,@Qualifier("oneMybatisProperties")MybatisProperties mybatisProperties){SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);bean.setMapperLocations(mybatisProperties.resolveMapperLocations());bean.setTypeAliasesPackage(mybatisProperties.getTypeAliasesPackage());bean.setConfigurationProperties(mybatisProperties.getConfigurationProperties());bean.setConfiguration(mybatisProperties.getConfiguration());bean.setConfigLocation(Optional.ofNullable(mybatisProperties.getConfigLocation()).map(location->{try {ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();return resourceResolver.getResource(location);} catch (Exception var3) {return null;}}).orElse(null));return bean;}@Primary@Beanpublic DataSourceTransactionManager oneTransactionManager(@Qualifier("oneDataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}@Primary@Beanpublic SqlSessionTemplate oneSqlSessionTemplate(@Qualifier("oneSqlSessionFactoryBean") SqlSessionFactoryBean sqlSessionFactoryBean) throws Exception{return new SqlSessionTemplate(sqlSessionFactoryBean.getObject());}}

(2)第二個jdbc配置

public class JdbcDataSourceConfig {@Bean@ConfigurationProperties(prefix = "sys.jdbc-two")public DataSourceProperties jdbcDataSourceProperties(){return new DataSourceProperties();}@Beanpublic DataSource jdbcDataSource(@Autowired @Qualifier("jdbcDataSourceProperties") DataSourceProperties dataSourceProperties){DataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().build();return dataSource;}@Beanpublic JdbcTemplate jdbcTemplate(@Autowired @Qualifier("jdbcDataSource") DataSource dataSource){return new JdbcTemplate(dataSource);}@Beanpublic DataSourceTransactionManager twoTransactionManager(@Autowired @Qualifier("jdbcDataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);} }

(3)導入配置

@Configuration @Import({MybatisDataSourceConfig.class, JdbcDataSourceConfig.class}) public class DataSourceConfig {}

注意:去掉默認自動配置

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, JdbcTemplateAutoConfiguration.class, MybatisAutoConfiguration.class}) public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}

?

總結

以上是生活随笔為你收集整理的SpringBoot2.1.9 多数据源Mybatis—JDBC配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。