如何将MyBatis与CDI一起使用

时间:2014-01-24 15:11:32

标签: cdi mybatis

我正在编写一个Web应用程序,我正在使用MyBatis框架进行持久化。我想使用CDI轻松注入映射器并以声明方式管理事务。

1 个答案:

答案 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/