多个数据源的mybatis-spring java注释

时间:2015-11-11 14:35:10

标签: java spring spring-mvc mybatis spring-mybatis

我可以使用以下代码在spring中配置多个mybatis数据源。使用java注释和配置(No xml)在mybatis-spring中执行此操作的方法是什么?

public class DataSourceSqlSessionFactory {

   private Logger logger = LoggerFactory.getLogger(getClass());

   private final static String MYBATIS_CONFIG = "mybatis-config-datasource.xml" ;

   public final static String AMDB_ENVIRONMENT_ID = "DB1" ;

   public final static String AODB_ENVIRONMENT_ID = "DB2" ;

   public SqlSessionFactory getSqlSessionFactory(String environment){
       InputStream inputStream = null ;
       SqlSessionFactory sqlSessionFactory = null ;
       try {
           inputStream = Resources.getResourceAsStream(MYBATIS_CONFIG);
           sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream , environment);
           inputStream.close();
           logger.info("Get ["+environment +"] data source connection");
       } catch (IOException e) {
           logger.error("Get ["+environment +"] data source connection failed, error messages : " + e);
       }
       return sqlSessionFactory ;
   }

}

1 个答案:

答案 0 :(得分:0)

您只需要使用@MapperScan注释注册映射器。但是,结果映射可以添加到提供给SqlSessionFactoryBuilder的配置对象中。

在您的' getSqlSessionFactory'中写下以下内容:方法:

org.apache.ibatis.session.Configuration config = new org.apache.ibatis.session.Configuration(environment);
config.addResultMap(someResultMap);
return new SqlSessionFactoryBuilder().build(config);

你完成了。享受!