mybatis注入事务首先要在 spring-mybatis的配置文件添加 事务支持,和事务annotation支持,从而实现功能的完善。
注意:如果是mysql请使用innodb innodb 支持事务功能,myisam 不支持。
<!-- transaction support-->
<!-- PlatformTransactionMnager -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- enable transaction annotation support -->。
注解,直接在类上面写注解表示整个类的方法都支持事务
@Transactional
@Component
public class UserSerImpl extends BaseServiceImpl<User> implements UserSer{
也可写在方法上
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
public void updateFoo(Foo foo) {
// do something
}
也可同时在类和方法上
@Transactional(readOnly = true)
public class DefaultFooService implements FooService {
public Foo getFoo(String fooName) {
// do something
}
// these settings have precedence for this method
//方法上注解属性会覆盖类注解上的相同属性
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
public void updateFoo(Foo foo) {
// do something
}
}。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有