1、spring和mybatis整合
整合思想:
mybatis的角色:持久层框架 会话工厂SqlSessionFactory,特点:一旦创建就一直存在。设计为单例的。mapper动态代理的方式;
spring角色:容器,管理类的。并且可以设计为scope为单例的。管理会话工厂,声明为springbean
spring来代理mapper接口的实现类,声明为springbean
2、spring的事务管理
2.1spring的声明式事务 aop技术
xml配置文件方式
2.2注解事务
<!-- 开启注解事务 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
@Transactional 1.可以注解到方法上,表示当前方法进行事务管理
2.还可以注解到类上,表示当前类的所有方法都进行事务事务管理
注意:spring的事务管理,一定要对进行事务管理的地方往外抛异常,而不能try捕获异常
如果想主动对事物进行回滚,可以往外抛异常throw new RuntimeException