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

公司网站后台维护怎么做网站建设哪家好 上海

公司网站后台维护怎么做,网站建设哪家好 上海,长沙正规制作网站公司,网站如何做品牌宣传目录 前言Spring中事务的实现声明式事务Transactional 作⽤范围Transactional 参数说明对于事务不回滚的解决方案 前言 在数据库中我们提到了 事务, 事务的定义为, 将一系列操作封装成一个整体去调用 , 要么一起成功, 要么一起失败 Spring中事务的实现 在Spring中事务的操作… 目录 前言Spring中事务的实现声明式事务Transactional 作⽤范围Transactional 参数说明对于事务不回滚的解决方案 前言 在数据库中我们提到了 事务, 事务的定义为, 将一系列操作封装成一个整体去调用 , 要么一起成功, 要么一起失败 Spring中事务的实现 在Spring中事务的操作分为俩类, 一种是编程式事务⼿动写代码操作事务 , 而另一种是声明式事务利⽤注解⾃动开启和提交事务 其中 编程式事务 , 与SQL中事务的实现有点类似 , 都必须经历三步分别是 开启事务获取事务。 提交事务。 回滚事务 SpringBoot 内置了两个对象DataSourceTransactionManager ⽤来获取事务开启事务、提交或回滚事务的⽽ TransactionDefinition 是事务的属性在获取事务的时候需要将TransactionDefinition 传递进去从⽽获得⼀个事务 TransactionStatus实现代码如下 RestController public class UserController {Resourceprivate UserService userService;// JDBC 事务管理器Resourceprivate DataSourceTransactionManager dataSourceTransactionManager;// 定义事务属性Resourceprivate TransactionDefinition transactionDefinition;RequestMapping(/sava)public Object save(User user) {// 开启事务TransactionStatus transactionStatus dataSourceTransactionManager.getTransaction(transactionDefinition);// 插⼊数据库int result userService.save(user);// 提交事务dataSourceTransactionManager.commit(transactionStatus);// // 回滚事务// dataSourceTransactionManager.rollback(transactionStatus);return result;} }声明式事务 手动编程事务过于繁琐 ,而声明式事务非常简单 ,只需要在需要的⽅法上添加 Transactional 注解就可以实现了⽆需⼿动开启事务和提交事务进⼊⽅法时⾃动开启事务⽅法执⾏完会⾃动提交事务如果中途发⽣了没有处理的异常会⾃动回滚事务具体实现代码如下 RequestMapping(/save) Transactional public Object save(User user) {int result userService.save(user);return result; }Transactional 作⽤范围 Transactional 可以⽤来修饰⽅法或类 修饰⽅法时需要注意只能应⽤到 public ⽅法上否则不⽣效。 修饰类时表明该注解对该类中所有的 public ⽅法都⽣效 Transactional 参数说明 大多数的在使用事务的情况是,都是默认参数 注意; Transactional 在异常被捕获的情况下不会进⾏事务⾃动回滚它会认为你自己处理调了该异常, 所以你认为它会自动回滚, 但是不会,所以如果在插入数据时, 发生异常, 然后异常被自己定义的try catch 捕获 ,如果异常发生在数据执行之后, 那么数据还会插入到数据库中 RestController public class UserController {Resourceprivate UserService userService;RequestMapping(/save)Transactionalpublic Object save(User user) {// 插⼊数据库int result userService.save(user);try {// 执⾏了异常代码(0不能做除数)int i 10 / 0;} catch (Exception e) {System.out.println(e.getMessage());}return result;} }对于事务不回滚的解决方案 继续将异常抛出 - 让Spring 感知到异常的发生 RequestMapping(/save) Transactional(isolation Isolation.SERIALIZABLE) public Object save(User user) {// 插⼊数据库int result userService.save(user);try {// 执⾏了异常代码(0不能做除数)int i 10 / 0;} catch (Exception e) {System.out.println(e.getMessage());// 将异常重新抛出去throw e;}return result; }通过手动抛出异常,让程序回滚 , 使用TransactionAspectSupport.currentTransactionStatus() 可 以得到当前的事务然后设置回滚⽅法 setRollbackOnly 就可以实现回滚了具体实现代码如下 RequestMapping(/save) Transactional(isolation Isolation.SERIALIZABLE) public Object save(User user) {// 插⼊数据库int result userService.save(user);try {// 执⾏了异常代码(0不能做除数)int i 10 / 0;} catch (Exception e) {System.out.println(e.getMessage());// ⼿动回滚事务TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();}return result; }
http://www.zqtcl.cn/news/22039/

相关文章:

  • 新乡做网站优化黄龙云 加强网站建设
  • 企业品牌网站建设我们的优势制作微信小程序要钱吗
  • 网站的功能与建设方案网站建设费要摊销
  • 网站海外推广谷歌seo方案许昌市住房和城乡建设局门户网站
  • 城市建设厅官方网站室内设计学校专升本
  • 可以做网站素材的服装网址之家123上网主页
  • 山东网站营销seo电话深圳市甘泉建设监理有限公司网站
  • 房产网站制作手机网站智能管理系统
  • 做搜狗网站优化排名wordpress占用资源大
  • dw做网站鼠标经过图像沈阳关键词自然排名
  • 烟台快速建站有哪些公司网站制作视频教程新手必看
  • 网站关键词被百度屏蔽怎么办广州微网站建设市场
  • 2017手机网站建设方案辽宁省建筑工程造价信息网
  • 天津网站建设是什么天猫代运营公司
  • 阳泉住房与城乡建设厅网站网站有订单了有声音提醒怎么做
  • 用wordpress开发网站模板雅安网站建设
  • 装修设计公司网站排名网站做子页面怎么做的
  • 世界杯网站源码下载怒江商城网站建设
  • 海外免费网站推广嘉兴营销型网站建设
  • 信誉最好的20个网投网站建设通网
  • 个人做网站如何赚钱吗wordpress不能显示分类页
  • 网站关键词多长爱站网是干什么的
  • 深圳好的网站建汽车网站更新怎么做
  • 宁波网站建设推广报价微网站一键通话
  • 网站开发维护招聘什么网站做企业邮箱服务器
  • 免费建站哪个最好个人博客系统源码
  • 适合大学生浏览的网站php网站制作实例教程
  • 网站一元空间有哪些呀网页超链接怎么做
  • 免费图片素材网站有哪些舟山专业做网站
  • 泉州免费建站马云不懂技术如何做网站