SpringBootMybatis配置多数据源并分包的方法-创新互联

这篇文章主要讲解了SpringBoot Mybatis配置多数据源并分包的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

成都创新互联是一家专注于网站设计、成都网站建设与策划设计,新市网站建设哪家好?成都创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:新市等地区。新市做网站价格咨询:028-86922220

第一个子项目ds01即时使用分包方式完成多数据源配置。

总结项目中出现的问题和解决办法:

数据库的连接信息:

连接信息是写在db.properties文件中的:

#数据库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
#数据库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;

指定数据连接池类型DataType:

数据源类型可以在配置类生成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();
  }

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:SpringBootMybatis配置多数据源并分包的方法-创新互联
文章出自:http://ybzwz.com/article/jgcog.html