栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot多数据源配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot多数据源配置

依赖
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        
        
            com.alibaba
            druid-spring-boot-starter
            1.2.5
         
        // sqlserver驱动
        
            net.sourceforge.jtds
            jtds
            1.3.1
        
yml配置文件
# 三个数据源:mybatis,jdbcyiqi,jdbcmite
    jdbcself:
      url: jdbc:jtds:sqlserver://127.0.0.1;DatabaseName=database1
      username: sa
      password: 123456
      driverClassName: net.sourceforge.jtds.jdbc.Driver
    jdbcyiqi:
      url: jdbc:jtds:sqlserver://127.0.0.1;DatabaseName=database1
      username: sa
      password: 123456
      driverClassName: net.sourceforge.jtds.jdbc.Driver
    jdbcmite:
      url: jdbc:jtds:sqlserver://127.0.0.1;DatabaseName=database1
      username: sa
      password: 123456
      driverClassName: net.sourceforge.jtds.jdbc.Driver
# mybatis配置
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  typeAliasesPackage: com.lq.erpdata.infrastructure.entity
  mapperLocations: classpath:mapper/*/*.xml
#分页配置
pagehelper:
  helper-dialect: sqlserver
  params: count=countSql
  reasonable: true
  support-methods-arguments: true
数据源配置

这里只写一个,其它三个都相似,mapper接口包路径不同还有连接参数不同

@Configuration
@MapperScan(value = "mapper接口的包路径", sqlSessionFactoryRef = "mybatisSqlSessionFactory")
public class MybatisDataSourceConfig {
    @Value("${jdbcself.url}")
    private String url;
    @Value("${jdbcself.username}")
    private String username;
    @Value("${jdbcself.password}")
    private String password;
    @Value("${jdbcself.driverClassName}")
    private String driverClassName;

    @Bean("mybatisDatasource")
    public DataSource mybatisDatasource() {
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDbType(DbType.jtds);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername(username);
        druidDataSource.setPassword(password);
        druidDataSource.setDriverClassName(driverClassName);
        druidDataSource.setValidationQuery("select 'x'");
        return druidDataSource;
    }

    @Bean("mybatisSqlSessionFactory")
    public SqlSessionFactory sqlSessionFactory(@Qualifier(value = "mybatisDatasource") DataSource dataSource) throws Exception {
        // 设置mapper的xml文件路径
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dataSource);
        Resource[] resources = new PathMatchingResourcePatternResolver()
                .getResources("classpath:mapper/mymapper/*.xml");
        factoryBean.setMapperLocations(resources);
        return factoryBean.getObject();
    }

    @Bean("mybatisDataSourceTransactionManager")
    public DataSourceTransactionManager primaryTransactionManager() {
        return new DataSourceTransactionManager(mybatisDatasource());
    }

    @Bean
    public SqlSessionTemplate sqlSessionTemplate(@Qualifier(value = "mybatisSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
        // 使用上面配置的Factory
        return new SqlSessionTemplate(sqlSessionFactory);
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号