1、Spring如何与Mybatis整合?
【资料图】
(1)配置数据源
(2配置SqlSessionFactory
(3)配置Dao
(4)配置Service
代码案例:
配置DataSources(数据源,连接池)
配置SqlSessionFactory
配置管理dao层(mappeScannerConfigurer:映射扫描仪配置)
配置管理Service层
2、如何在Spring中进行事务控制?
(1)配置事务管理器(DataSourceTransactionManager)
(2)配置事务通知+事务属性+事务隔离级别
(3)配置切入点
(4)组装切面
代码案例:
配置事务管理器
配置事务通知+事务属性
>
配置切入点
组装切面
spring整合Mybatis标准开发步骤(DAO层+Service层)
3、常见的数据库隔离级别有哪些以及分别解决什么问题?
(1)数据库事务隔离级别:
解决事务并发时存在如:藏独,不可重复读,幻读的情况
(2)隔离级别
read_UnCommitted:已未提交事务:出现脏读,一个客户端添加某个数据,还没提交,另外的客户端就可以读到未提交的事务,会脏读
read_committed:读已提交,Oracle的默认事务隔离级别,解决脏读问题,一个客户端添加某个数据,还没提交,另外的客户端不能读到未提交的事务
repeatable:可重复读,解决事务的脏读和不可重复读问题,mysql默认的事务隔离级别
serializable:序列化读
(3)幻影读
幻影读:一个事务添加数据,另一事务对表中的数据进行多次查询,但查询的结果不一致。
4、Spring中的事务传播性解决什么问题及常见取值的区别是什么?
(1)概念
事务的传播性,解决因事务嵌套而导致事务没法控制的问题。
(2)常用取值及区别
REQUIRED
含义:如果外部没有事务,则开启新的事务;如果外部存在事务,则融合到外部的事务中。
开发中的使用:添加、修改、删除时使用。
SUPPORTS
含义:如果外部没有事务,则不开启事务;如果外部存在事务,则融合到外部的事务中。
开发中的使用:查询时使用。





















