2014-01-24 4 views
1

Я пишу веб-приложение, и я использую структуру MyBatis для настойчивости. Я хочу использовать CDI, чтобы легко вводить карты и управлять транзакцией декларативно.Как использовать MyBatis с CDI

ответ

3

Расширение CDI Mybatis только что выпущено. Это довольно просто:

Чтобы внедрить картограф, просто квалифицируйте свою точку впрыска с помощью @Mapper. то есть.

@Inject @Mapper 
private MyMapperDao mapper; 

и объявить производителя вашего SqlSessionFactory в области применения. то есть.

@Produce @ApplicationScoped 
public SqlSessionFactory create() { 
    return <your session factory>; 
} 

Если вы хотите, чтобы разграничить транзакцию, просто аннотировать метод с @Transactional

@Transactional 
public void myTransactionalMethod(...) { 
    myMapper.method1(); 
    myMapper.method2(); 
    ... 
} 

Вы можете найти документацию здесь: http://mybatis.github.io/cdi/

Смежные вопросы