我正在编写一个Web应用程序,我正在使用MyBatis框架进行持久化。我想使用CDI轻松注入映射器并以声明方式管理事务。
答案 0 :(得分:3)
Mybatis CDI扩展刚刚发布。这很简单:
要注入映射器,只需使用@Mapper限定注入点。即
@Inject @Mapper
private MyMapperDao mapper;
并在Application Scope中声明您的SqlSessionFactory的生产者。即
@Produce @ApplicationScoped
public SqlSessionFactory create() {
return <your session factory>;
}
如果要划分事务,只需使用@Transactional
注释您的方法@Transactional
public void myTransactionalMethod(...) {
myMapper.method1();
myMapper.method2();
...
}
您可以在此处找到文档:http://mybatis.github.io/cdi/