【问题标题】:Dynamically routed sqlSessionFactory in mybatismybatis中动态路由的sqlSessionFactory
【发布时间】:2017-04-28 04:59:14
【问题描述】:

Mybatis中可以选择Mapper执行吗?

我正在使用动态路由数据源并将其作为参数提供给 sqlSessionFactory - 它正在工作。

然而,问题是不同的数据库可能需要其他 SQL 查询(非常小的差异,但是差异)。

是否可以创建动态路由 sqlSessionFactory - 并给他们其他包映射器?

【问题讨论】:

    标签: java spring datasource mybatis


    【解决方案1】:

    这是获取会话工厂的方式: Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);

    mybatis-config.xml 中声明了一些东西,其中包括数据源和映射器。

    然后创建另一个 Mybatis 配置文件(带有自己的日期源和映射器)并动态选择文件来构建会话工厂。您仍然可以在打开会话时提供连接,尽管我建议使用工厂提供的隐式连接,因为它会与映射器匹配。 (除非这是一个复杂的应用程序,您需要重用连接,例如:完成事务)

    【讨论】:

      猜你喜欢
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 2020-02-29
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多