Spring Boot整合Mybais与事务管理的注意事项
2020-04-20 14:05
573 查看
Spring Boot整合Mybatis与事务管理的注意事项
整合Mybatis
- 在pom.xml添加相关的jar包依赖
<!-- 加载mybatis整合springboot的依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <!-- MySQL的jdbc驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
-
在配置文件中配置mysql的链接信息
-
在mapper类上面加上@Mapper 将其变成spring容器中的bean
或者在运行入口添加@MapperScan(“com.mybatis.mapper”)注解进行扫描 -
如果将mapper.xml文件放到resources中,则需要在application.properties文件中加上mybatis.mapper-locations=classpath:mapper/*.xml进行指定文件位置
事务管理
- 在启动入口类中使用注解@EnableTransactionManagement 表示开启事务支持
- 在service方法上添加注解
- @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
propagation 表示事务的规则
PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启。 - PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。
- PROPAGATION_MANDATORY:如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。
- PROPAGATION_REQUIRES_NEW:总是开启一个新的事务。如果一个事务存在,则将这个存在的事务挂起。
- PROPAGATION_NOT_SUPPORTED:总是非事务地执行,并挂起任何存在的事务。
- PROPAGATION_NEVER:总是非事务地执行,如果存在一个活动事务,则抛出异常。
- PROPAGATION_NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中,如果没有活动事务,则按TransactionDefinition.PROPAGATION_REQUIRED属性执行
查询的注解
@Transactional(readOnly = true,propagation= Propagation.NOT_SUPPORTED)
此注解表示只读,没有事务
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- springboot中事务管理@Transactional的注意事项与使用场景
- spring管理事务后的注意事项
- Spring Boot整合邮件发送与注意事项
- [Spring] 学习Spring Boot之二:整合MyBatis并使用@Trasactional管理事务
- spring boot最新教程(三):Spring Boot整合JdbcTemplate以及事务管理
- mybaties+maven+springboot整合将查询结果映射到实体Bean时的注意事项
- spring事务管理注意事项
- spring boot + dubbo整合注意事项
- springboot+shiro+mybatis整合发现部分功能事务没有被spring管理
- Spring2.5整合Hibernate3.0中使用XML以tx来配置事务管理。
- spring 事务注意事项 -- 事务注解一定写到service最外层
- hibernate4 和 spring3 整合注意事项:HibernateDaoSupport没有了找到篇好文章,我之前遇到的问题都在这都能找到。其实出现这些问题的关键就是hibernate4和hib
- Spring整合JMS(四)——事务管理
- Springboot 事务管理控制
- spring boot中多线程开发的注意事项总结
- spring boot配置mybatis和事务管理
- spring2.5整合ibatis2.3事务管理时遇到的问题以及需要的jar包
- spring整合 mybatis 事务管理不生效原因
- SpringBoot2.0 整合 SpringSecurity 框架,实现用户权限安全管理
- springboot(十四):springboot整合shiro-登录认证和权限管理