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

毕节市生态文明建设网站甘德县公司网站建设

毕节市生态文明建设网站,甘德县公司网站建设,外贸论坛新手入门,效果图网站大全一、事务的常识 1、事务四特性#xff08;ACID#xff09; A 原子性#xff1a;事务是最小单元,不可再分隔的一个整体。C 一致性#xff1a;事务中的方法要么同时成功,要么都不成功,要不都失败。I 隔离性#xff1a;多个事务操作数据库中同一个记录或多个记录时,对事务进… 一、事务的常识 1、事务四特性ACID A 原子性事务是最小单元,不可再分隔的一个整体。C 一致性事务中的方法要么同时成功,要么都不成功,要不都失败。I 隔离性多个事务操作数据库中同一个记录或多个记录时,对事务进行隔离开来有序执行。D 持久性事务成功时,操作的结果永久的写入到数据库磁盘中。 2、五种数据库BUG读 1.脏读完全不加锁且直接改主数据数据    A线程写时不加锁B线程读A线程未提交的数据。A回滚B线程之前读到的数据为无效数据。2.不可重复读读不加共享锁    A事务第一次读数据B线程改操作。A第二次读取数据同一事物内两次读取数据不一致。3.第一类事务丢失回滚丢失    A事务撤销时在A事务开始和结束的B事务也抹杀了无视B的存在。4.第二类事务丢失提交覆盖丢失    A事务覆盖B事务已提交的数据造成B事务操作丢失。5.幻读不锁表    主要指两次读取表的总数不一致。 3、四种隔离级别就是共享锁、独占锁、表锁 1.读未提交数据(read uncommitted)(完全不加锁且直接改主数据数据)     允许事务读取未被其他事务提交的变更。2.读已提交数据(read committed)(写时加独占锁读时不加锁)     只允许事务读取已经被其他事务提交的变更。3.可重复读(repeatable read)(共享锁、与独占锁默认)     确保事务可以多次从一个字段中读取相同的值在这个事务持续期间禁止其他事务对这个字段进行更新。4.串行化(serializable)(对表级加锁)     读操作加表级读锁至事务结束。可以禁止幻读。会导致大量的操作超时和锁竞争大大降低数据库的性。 4、Spring事务的7种传播行为 当一个事务方法被另一个事务方法调用时这个事务方法应该如何运行。 (required / supports / mandatory / requires_new / not supported / never / nested)required加入Spring默认的加入当前事务没有事务就新建。supports加入有则加入没有就不管了非事务运行mandatory强制事务执行有则加入没有就抛异常。requires_new新建不管有没有直接创建新事务。not supported不支持以非事务方式执行操作如果当前存在事务就把当前事务挂起。never不支持以非事务方式执行如果当前存在事务则抛出异常。nested存在就嵌套的执行当前存在事务则嵌套在当前事务中执行。当前没事务则新建类似 REQUIRE_NEW。 对事务的要求程度可以从大到小排序mandatory / supports / required / requires_new / nested / not supported / never 二、编程式事务管理 用 TransactionTemplate 或 PlatformTransactionManagerSpring 推荐 TransactionTemplate。 1、引入依赖 dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.9.RELEASE/version /dependency 2、代码 Autowired private PlatformTransactionManager transactionManager;Autowired private TransactionTemplate transactionTemplate;public void testTransactionManager() {TransactionStatus status transactionManager.getTransaction(new DefaultTransactionDefinition());try {// .... 业务代码transactionManager.commit(status);} catch (Exception e) {transactionManager.rollback(status);} }public void testTransactionTemplate() {transactionTemplate.execute(new TransactionCallbackWithoutResult() {Overrideprotected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {try {// .... 业务代码} catch (Exception e) {//回滚transactionStatus.setRollbackOnly();}}}); } 三、声明式事务Transactional Spring 用 ThreadLocal 为线程做副本存放维护事务配置的属性、运行状态等信息 通过 AOP 机制在方法前后分别织入开启事务、提交、回滚的逻辑 Transactional 注解修饰的方法前后分别织入开启事务的逻辑以及提交或回滚的逻辑。 Transactional 可以修饰在方法或者类上区别就在于修饰于类上的会对该类下符合条件的方法例如private修饰的方法就不符合条件前后都织入事务的逻辑。 失 效 场 景 1.protected、private 修饰的方法上使用 Transactional 注解虽然事务无效但不会有任何报错。 2.类内方法调用会失效。 3.和线程池使用。 1、引入依赖 dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.9.RELEASE/version /dependency 2、代码 Transactional(propagation Propagation.REQUIRED,isolation Isolation.READ_UNCOMMITTED,timeout30,readOnlytrue,rollbackForRuntimeException.class) public void testTransaction(){// .... 业务代码 }
http://www.w-s-a.com/news/301754/

相关文章:

  • 做母婴网站赚钱汕头百姓网
  • 那个网站建设好动漫制作技术升本可以升什么专业
  • 网站建设企业响应式网站模板广西建设部投诉网站
  • app营销的特点wordpress优化方案
  • 静安网站建设公司如何编辑wordpress
  • 做网站的职位叫什么问题常州金坛网站建设
  • 保健品网站模板用jsp做的网站前后端交互
  • 网站带后台品牌网页设计图片
  • 保定清苑住房和城乡建设局网站分类信息网站程序
  • 可以做视频推广的网站选择大连网站建设
  • 在线网站开发网站在哪里
  • 建站的步骤上海快速优化排名
  • 招聘网站做一下要多少钱网站设计公司 国际
  • 巩义专业网站建设公司首选seo研究院
  • 大流量网站解决访问量友情链接如何添加
  • 教育网站建设网永康市住房和城乡建设局网站
  • 阿里巴巴官网网站django 做网站的代码
  • 网站建设 军报wordpress 订餐模板
  • 网站虚拟主机 会计处理石家庄站建设费用多少
  • 网站建设 服务内容 费用简述网站开发流程
  • 公司制作网站跟企业文化的关系空间制作网站
  • 浙江建设监理协会网站个人网站设计规划书
  • wordpress太卡了贵州seo推广
  • 企业介绍微网站怎么做的手机软件商城免费下载
  • 新手网站设计定价网站开发销售
  • 网站开发公司oa有没有找人做标书的网站
  • 传统门户网站有哪些人武部正规化建设
  • 台州网站制作方案免费无代码开发平台
  • 精通网站建设 pdf微盘学做电商的步骤
  • 想在网上做设计接单有没有网站找一个免费域名的网站