欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot Mybatis如何配置多數(shù)據(jù)源并分包

 更新時間:2020年05月06日 11:01:13   作者:YouLan  
這篇文章主要介紹了SpringBoot Mybatis如何配置多數(shù)據(jù)源并分包,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

看了不少網上關于多數(shù)據(jù)源的配置,大致可分為兩類,分包方式和通過切面方式;

樣例已上傳至github:https://github.com/dadachao/multids

第一個子項目ds01即時使用分包方式完成多數(shù)據(jù)源配置。

總結項目中出現(xiàn)的問題和解決辦法:

數(shù)據(jù)庫的連接信息:

連接信息是寫在db.properties文件中的:

#數(shù)據(jù)庫ds1
spring.datasource.ds1.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.ds1.url=jdbc:mysql://localhost:3306/ds1?serverTimezone=UTC
spring.datasource.ds1.username=root
spring.datasource.ds1.password=root
#數(shù)據(jù)庫ds2
spring.datasource.ds2.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.ds2.url=jdbc:mysql://localhost:3306/ds2?serverTimezone=UTC
spring.datasource.ds2.username=root
spring.datasource.ds2.password=root

這些信息將在配置類DbConfig1.java中引用。一開始我是通過使用注解@ImportResource(...)引進db.properties文件,但在運行時報了org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允許有內容的錯誤;使用這個注解也是我瞎猜的。后是通過使用注解@PropertySource(value = "classpath:/db.properties",encoding = "utf-8")解決問題。

其次是關于在配置類中使用@ConfigurationProperties注解自動注入連接信息值(value)的問題:spring.datasource.ds1.url=jdbc:mysql://localhost:3306/ds1?serverTimezone=UTC

注意要使用.url而不是.jdbc-url;

指定數(shù)據(jù)連接池類型DataType:

數(shù)據(jù)源類型可以在配置類生成DataSource的方法中指定:

@Bean(name = "ds1DataSource")
  @Primary
  @ConfigurationProperties(prefix = "spring.datasource.ds1")
  public DataSource getDataSource(){
    DataSourceBuilder<?> dataSourceBuilder = DataSourceBuilder.create();
    dataSourceBuilder.type(com.alibaba.druid.pool.DruidDataSource.class);
    return dataSourceBuilder.build();
  }

指定***Mapper.xml文件的路徑掃描問題:(相當重要)

使用配置類進行數(shù)據(jù)源相關進行配置后,原先在application.yml中配置的相關參數(shù)就不起作用了(原因未知),原先我是在application.yml中配置了.xml文件的掃描路徑:

mybatis:
mapper-locations: classpath:/mybatis/**/*.xml
type-aliases-package: com.kong.ds01.model

但在運行時報錯:Mapper Bound Error(not found);后來通過在配置類中寫入掃描路徑解決:

public final static String mapperXmlLocation = "classpath:mybatis/*/*.xml";

@Bean(name = "ds1SqlSessionFactory")
  @Primary
  public SqlSessionFactory getSqlSessionFactory(@Qualifier("ds1DataSource") DataSource dataSource) throws Exception {
    SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
    sqlSessionFactoryBean.setDataSource(dataSource);
    sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperXmlLocation));
    return sqlSessionFactoryBean.getObject();
  }

而且通過這種方法表示任意路徑不能使用/**/,要使用/*/,否則識別不出來又會報相同的錯誤,這點真是太坑了!

指定執(zhí)行器的類型(Execute.Type):

可以通過在配置類中的sqlSessionTemplate中指定:

@Bean(name = "ds1SqlSessionTemplate")
  @Primary
  public SqlSessionTemplate getSqlSessionTemplate(@Qualifier("ds1SqlSessionFactory") SqlSessionFactory sqlSessionFactory){
    return new SqlSessionTemplate(sqlSessionFactory, ExecutorType.BATCH);
  }

指定為BATCH類型后在進行批量操作時效率有明顯的提高。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • java?Map接口子類HashMap遍歷與LinkedHashMap詳解

    java?Map接口子類HashMap遍歷與LinkedHashMap詳解

    這篇文章主要介紹了java?Map接口子類HashMap遍歷與LinkedHashMap詳解,Map接口下的集合與Collection接口下的集合,它們存儲數(shù)據(jù)的形式不同,感興趣的小伙伴可以參考下面文章詳細內容介紹
    2022-06-06
  • 在mybatis中使用mapper進行if條件判斷

    在mybatis中使用mapper進行if條件判斷

    這篇文章主要介紹了在mybatis中使用mapper進行if條件判斷,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • SpringMVC數(shù)據(jù)輸出相關知識總結

    SpringMVC數(shù)據(jù)輸出相關知識總結

    今天帶大家學習SpringMVC的相關知識,文中對SpringMVC數(shù)據(jù)輸出作了非常詳細的代碼示例,對正在學習的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • 探討Java中的深淺拷貝問題

    探討Java中的深淺拷貝問題

    這個概念估計懂C++的人不會陌生,但是很多朋友并不了解,概括起來將淺拷貝就是指兩個對象公用一個值,一個的改變了另一個也會隨之改變,深拷貝則是兩個對象值相等,但是相互獨立互不影響。下面我們將關于java的淺拷貝和深拷貝做一個詳細講解
    2021-06-06
  • Spring Boot Actuator自定義健康檢查教程

    Spring Boot Actuator自定義健康檢查教程

    這篇文章主要介紹了Spring Boot Actuator自定義健康檢查教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • idea切換分支的時候,忽略一些無用的修改設置

    idea切換分支的時候,忽略一些無用的修改設置

    這篇文章主要介紹了idea切換分支的時候,忽略一些無用的修改操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java如何將字符串String轉換為整型Int

    Java如何將字符串String轉換為整型Int

    這篇文章主要介紹了Java如何將字符串String轉換為整型Int,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • SpringBoot實現(xiàn)掃碼登錄的項目實踐

    SpringBoot實現(xiàn)掃碼登錄的項目實踐

    本文主要介紹了SpringBoot實現(xiàn)掃碼登錄的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Spring中一個少見的引介增強IntroductionAdvisor

    Spring中一個少見的引介增強IntroductionAdvisor

    這篇文章主要為大家介紹了Spring中一個少見的引介增強IntroductionAdvisor實戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Spring Boot使用Allatori代碼混淆的方法

    Spring Boot使用Allatori代碼混淆的方法

    這篇文章主要介紹了Spring Boot使用Allatori代碼混淆的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03

最新評論