@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
浙公网安备 33010602011771号