springboot配置mybatis數據源

1.啓動類 得加上掃描包scanBasePackages

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class},scanBasePackages = {"com.fast.framework","com.fast.web"})
public class FastbootWebApplication {

    public static void main(String[] args) {
        SpringApplication.run(FastbootWebApplication.class, args);
    }

}

2.yaml數據源參數,使用的hikari數據庫連接池

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.zaxxer.hikari.HikariDataSource
    hikari:
      jdbc-url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true
      username: root
      password: root
      max-lifetime: 1765000
      maximum-pool-size: 15

3.包與數據源對應

@Configuration
@MapperScan(basePackages = "com.fast.framework.dao", sqlSessionTemplateRef = "sqlSessionTemplatePrimary")
public class MysqlPrimary {

    @Bean(name = "datsourcePrimary")
    @ConfigurationProperties(prefix = "spring.datasource.primary")
    public DataSource primaryDatsource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "sqlSessionFactoryPrimary")
    public SqlSessionFactory primarySqlSession(@Qualifier("datsourcePrimary") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:/mapper/*.xml"));
        bean.setTypeAliasesPackage("");
        return bean.getObject();
    }

    @Bean(name = "sqlSessionTemplatePrimary")
    public SqlSessionTemplate mainsql(@Qualifier("sqlSessionFactoryPrimary") SqlSessionFactory sqlSessionFactory) {
        return new SqlSessionTemplate(sqlSessionFactory);
    }

    @Bean(name = "datsourcePrimaryManager")
    public DataSourceTransactionManager primaryTransactionManager(@Qualifier("datsourcePrimary") DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }
}

總結:這個如果想配置更多,可以多添加幾個類,把數據源和包位置關係配置對就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章