当前位置: 首页 > news >正文

微网站如何建立百度推广登录地址

微网站如何建立,百度推广登录地址,wordpress所见即所得编辑器,一个人在家做网站建设目录 1.Spring 编程式事务 2.Transactional 3.事务隔离级别 4.Spring 事务传播机制 什么是事务? 事务是⼀组操作的集合, 是⼀个不可分割的操作. 事务会把所有的操作作为⼀个整体, ⼀起向数据库提交或者是撤销操作请求. 所以这组操作要么同时成 功, 要么同时失败 1.Spri…

目录

1.Spring 编程式事务

2.@Transactional

3.事务隔离级别

4.Spring 事务传播机制 


什么是事务?
事务是⼀组操作的集合, 是⼀个不可分割的操作.
事务会把所有的操作作为⼀个整体, ⼀起向数据库提交或者是撤销操作请求. 所以这组操作要么同时成 功, 要么同时失败

1.Spring 编程式事务

SpringBoot 内置了两个对象:
1.DataSourceTransactionManager 事务管理器. ⽤来获取事务(开启事务), 提交或回滚事务
2. TransactionDefinition 是事务的属性, 在获取事务的时候需要将 TransactionDefinition 传递进去从⽽获得⼀个事务 TransactionStatus

代码:

@RequestMapping("/user")
@RestController
public class UserController {@Autowiredprivate DataSourceTransactionManager dataSourceTransactionManager;@Autowiredprivate TransactionDefinition transactionDefinition;@Autowiredprivate UserService userService;@RequestMapping("/register")public Boolean register(String userName, String password){//开启事务TransactionStatus transaction = dataSourceTransactionManager.getTransaction(transactionDefinition);Integer result = userService.insert(userName, password);System.out.println("插入用户表, result: "+ result);//回滚事务dataSourceTransactionManager.rollback(transaction);//提交事务
//        dataSourceTransactionManager.commit(transaction);return true;}
}

 当手动回滚时,虽然程序会返回"注册成功", 但数据库并没有新增数据。


2.@Transactional

2.1声明式事务的实现

1. 添加依赖

		<dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId></dependency>

2.在需要事务的⽅法上添加 @Transactional 注解就可以实现了。

⽆需⼿动开启事务和提交事 务, 进⼊⽅法时⾃动开启事务, ⽅法执⾏完会⾃动提交事务, 如果中途发⽣了没有处理的异常会⾃动 回滚事务.

注意:

1.@Transactional 默认只在遇到运⾏时异常和Error时才会回滚 , ⾮运⾏时异常不回滚. 即
Exception的⼦类中, 除了RuntimeException及其⼦类.

2.如果需要回滚指定类型的异常, 可以通过rollbackFor属性来指定

@Transactional(rollbackFor = IOException.class)

 2.2@Transactional 作⽤

@Transactional 可以⽤来修饰⽅法或类

1.修饰⽅法时: 只有修饰public ⽅法时才⽣效(修饰其他⽅法时不会报错, 也不⽣效)
2. 修饰类时: 对 @Transactional 修饰的类中所有的 public ⽅法都⽣效
如果在⽅法执⾏过程中, 出现异常, 且异常未被捕获, 就进⾏事务回滚操作.
如果异常被程序捕获, ⽅法就被认为是成功执⾏, 依然会提交事务

由于异常被捕获了, 所以事务依然得到了提交. 如果需要事务进⾏回滚, 有以下两种⽅式

 1.重新抛出异常

try {
// 强制程序抛出异常
int a = 10 / 0 ;
} catch (Exception e){
// 将异常重新抛出去
throw e;
}

2.⼿动回滚事务

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();  


3.事务隔离级别

Spring 中事务隔离级别有5 种

1.Isolation.DEFAULT : 以连接的数据库的事务隔离级别为主

2.Isolation.READ_UNCOMMITTED : 读未提交, 对应SQL标准中 READ UNCOMMITTED

3.Isolation.READ_COMMITTED : 读已提交,对应SQL标准中 READ COMMITTED

4.Isolation.REPEATABLE_READ : 可重复读, 对应SQL标准中 REPEATABLE READ

5.Isolation.SERIALIZABLE : 串⾏化, 对应SQL标准中 SERIALIZABLE

Spring 中事务隔离级别可以通过 @Transactional 中的 isolation 属性进⾏设置

@Transactional(isolation = Isolation.DEFAULT)

不同隔离级别可能会出现的问题:


4.Spring 事务传播机制 

事务传播机制就是: 多个事务⽅法存在调⽤关系时, 事务是如何在这些⽅法间进⾏传播的

⽐如有两个⽅法A, B都被 @Transactional 修饰, A⽅法调⽤B⽅法

 以B为视角

Spring 事务传播机制有以下 7 种:
重点关注 REQUIRED (默认值) 和 REQUIRES_NEW
1.Propagation.REQUIRED : 默认的事务传播级别. 如果当前存在事务, 则加⼊该事务. 如果当前没 有事务, 则创建⼀个新的事务  

2.Propagation.SUPPORTS : 如果当前存在事务, 则加⼊该事务. 如果当前没有事务, 则以⾮事务的 ⽅式继续运⾏

 3.Propagation.MANDATORY :强制性. 如果当前存在事务, 则加⼊该事务. 如果当前没有事务, 则 抛出异常.

4.Propagation.REQUIRES_NEW : 创建⼀个新的事务. 如果当前存在事务, 则把当前事务挂起. 也 就是说不管外部⽅法是否开启事务, Propagation.REQUIRES_NEW 修饰的内部⽅法都会新开 启⾃⼰的事务, 且开启的事务相互独⽴, 互不⼲扰.
5.Propagation.NOT_SUPPORTED : 以⾮事务⽅式运⾏, 如果当前存在事务, 则把当前事务挂起(不 ⽤).
6.Propagation.NEVER : 以⾮事务⽅式运⾏, 如果当前存在事务, 则抛出异常.
7.   Propagation.NESTED : 如果当前存在事务, 则创建⼀个事务作为当前事务的嵌套事务来运⾏. 如果当前没有事务, 则该取值等价于 PROPAGATION_REQUIRED

 设置事务的传播机制:

@Transactional(propagation = Propagation.REQUIRED)

以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

http://www.dt0577.cn/news/41809.html

相关文章:

  • 网站建设缺乏个性推广普通话手抄报一等奖
  • 哪个网站做货车专业全球最大的中文搜索引擎
  • 做的好的食用菌公司网站有网站首页快速收录
  • 免费的网站托管软文推广是什么意思?
  • 重庆市建设工程人力资源网杭州seo推广优化公司
  • 怎样用云服务器做网站中国搜索引擎份额排行
  • 网站建设需要企业提供哪些素材学企业管理培训班
  • 南山做网站公司网推app
  • 近年来政府网站的建设情况深圳防疫措施优化
  • 想做交友网站怎么做想做电商应该怎么入门
  • 广西做网站公司百度贴吧广告投放
  • 做网站销售好吗最新域名查询ip
  • 学信网网站建设怎么搞近10天的时事新闻
  • 网站开发手机app黑龙seo网站优化
  • 环球影城客户电话百度快速收录seo工具软件
  • wordpress大括号上海网站搜索排名优化哪家好
  • 做企业网站流程搜索引擎优化岗位
  • 台州建设规划局网站企业如何开展网络营销
  • 推广方式单一的原因网站的seo是什么意思
  • 多个网站一个域名广州seo推广
  • 惠州做网站乐云seo轻松上线市场调研分析报告怎么写
  • 餐饮行业做微信网站有什么好处seo经典案例
  • 响应式网站效果图做多大的公众号seo排名
  • 网站后台百度商桥代码哪里安装设计网站排行
  • 直播网站 建设seo推广如何做
  • 网站代发怎么做个人怎么做推广
  • 深圳网站建设信科便宜网站超级外链
  • a片做视频网站百度seo刷排名工具
  • 温州网站建设推广服务seo短视频网页入口营销
  • 南京做网站优化的公司百度文库官网登录入口