博客首页
@Configuration
@MapperScan(basePackages = "com.XXX.XXX.dao.informix", sqlSessionFactoryRef = "informixSqlSessionFactory")
public class PrimaryConfig {
    @Value("${spring.datasource.primary.driver-class-name}")
    private String drivername;
    @Value("${spring.datasource.primary.url}")
    private String url;
    @Value("${spring.datasource.primary.password}")
    private String password;
    @Value("${spring.datasource.primary.username}")
    private String username;
    @Value("${spring.datasource.primary.publicKey}")
    private String publicKey;


    @Primary
    @Bean(name = "informixDataSource")
    public DataSource primaryDataSource() {
//        DriverManagerDataSource dataSource
//                = new DriverManagerDataSource();
        DruidDataSource dataSource = new DruidDataSource();
        try {
            dataSource.setValidationQuery("SELECT current FROM sysmaster:sysshmvals");
            dataSource.setDriverClassName(drivername);
            dataSource.setUrl(url);
            dataSource.setUsername(username);
            //dataSource.setPassword(password);
            dataSource.setPassword(ConfigTools.decrypt(publicKey,password));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dataSource;
    }


    @Bean(name = "informixJdbcTemplate")
    public JdbcTemplate secondaryJdbcTemplate(
            @Qualifier("informixDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Bean(name = "informixSqlSessionFactory")
    // 表示这个数据源是默认数据源
    @Primary
    // @Qualifier表示查找Spring容器中名字为test1DataSource的对象
    public SqlSessionFactory test1SqlSessionFactory(@Qualifier("informixDataSource") DataSource datasource)
            throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(datasource);
        bean.setMapperLocations(
                // 设置mybatis的xml所在位置
                new PathMatchingResourcePatternResolver().getResources("classpath*:mapper/informix/*.xml"));
        return bean.getObject();
    }
    @Bean("informixSqlSessionTemplate")
    // 表示这个数据源是默认数据源
    @Primary
    public SqlSessionTemplate sqlsessiontemplate(
            @Qualifier("informixSqlSessionFactory") SqlSessionFactory sessionfactory) {
        return new SqlSessionTemplate(sessionfactory);
    }
}

在创建一个文件把所有的

@Primary 去掉
最重要的是配置下面这个: 不同库分不同文件夹
@MapperScan(basePackages = "com.XXX.XXX.dao.informix", sqlSessionFactoryRef = "informixSqlSessionFactory")

yml自定义格式如下:
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    primary:
      driver-class-name: com.informix.jdbc.IfxDriver
      url: 
      username: 
      password: 
      publicKey: 
    postgresql:
      driver-class-name: org.postgresql.Driver
      username: root
      password: 
      publicKey: 
    druid:
 
mysql:
  driver-class-name:com.mysql.jdbc.Driver
 
posted on 2021-04-28 14:07  安好丶  阅读(472)  评论(0)    收藏  举报



Penn000