【发布时间】:2011-10-31 18:10:45
【问题描述】:
首先,感谢 \m/ 选择最佳 Java Web 框架... 由于我们有优秀的 Oracle PL/SQL 开发人员,我们希望放弃默认的 JPA 插件并改用 MyBatis。我检查了 repo,目前没有它的模块。有人可以为我们阐明如何做到这一点吗?另外,它可以与 CRUD 模块一起使用吗?
【问题讨论】:
标签: java jpa playframework mybatis
首先,感谢 \m/ 选择最佳 Java Web 框架... 由于我们有优秀的 Oracle PL/SQL 开发人员,我们希望放弃默认的 JPA 插件并改用 MyBatis。我检查了 repo,目前没有它的模块。有人可以为我们阐明如何做到这一点吗?另外,它可以与 CRUD 模块一起使用吗?
【问题讨论】:
标签: java jpa playframework mybatis
我使用了一个像这样的辅助类:
public class DBSession {
public SqlSession openSession() throws IOException {
SqlSessionFactory sessionFactory = getFactory();
return sessionFactory.openSession();
}
private SqlSessionFactory getFactory() throws IOException {
String resource = "mybatis/conf/ibatis.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
return sessionFactory;
}
}
注意“mybatis/conf/ibatis.xml”字符串引用了MyBatis的配置。为了获得更好的性能,我认为您可能需要缓存 getFactory 结果。
【讨论】:
如果你使用的是 Play 2.0,你可以直接使用 mybatis-scala,不需要任何模块。看看这个完整的例子:
http://www.fdmtech.org/2012/03/a-better-example-of-play-framework-2-0-with-mybatis-for-scala-beta/
【讨论】:
我不是 MyBatis 专家,但除非它使用标准 JPA 注释,否则它可能无法与 CRUD 模块一起使用。
关于如何做到这一点,创建一个 Play 插件并使用 EBeans 一个作为如何实现它的灵感,因为它解决了类似的问题。
【讨论】: