事务处理

SQL 事务处理

爷,独闯天下 提交于 2019-11-29 06:24:04
伪代码: begin 事务   update 账号表 set money=money+1000 where 账号=账号B;   update 账号表 set money=money-1000 where 账号=账号A; if 程序报错   rollback 事务; else   commit 事务; 来源: https://www.cnblogs.com/xiaohuizhenyoucai/p/11459074.html

框架 | Spring面试题总结

隐身守侯 提交于 2019-11-29 05:37:01
1、什么是Spring? Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Java应用程序中,但对Java EE平台上的Web应用程序有更好的扩展性。Spring框架的目标是使得Java EE应用程序的开发更加简捷,通过使用POJO为基础的编程模型促进良好的编程风格。 2、Spring有哪些优点? 轻量级:Spring在大小和透明性方面绝对属于轻量级的,基础版本的Spring框架大约只有2MB。 控制反转(IOC):Spring使用控制反转技术实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。 面向切面编程(AOP): Spring支持面向切面编程,同时把应用的业务逻辑与系统的服务分离开来。 容器:Spring包含并管理应用程序对象的配置及生命周期。 MVC框架:Spring的web框架是一个设计优良的web MVC框架,很好的取代了一些web框架。 事务管理:Spring对下至本地业务上至全局业务(JAT)提供了统一的事务管理接口。 异常处理:Spring提供一个方便的API将特定技术的异常(由JDBC, Hibernate, 或JDO抛出)转化为一致的、Unchecked异常。 3、Spring 事务实现方式 编程式事务管理:这意味着你可以通过编程的方式管理事务,这种方式带来了很大的灵活性,但很难维护。声明式事务管理

花了近十年的时间,整理出史上最全面Java面试题

痞子三分冷 提交于 2019-11-28 18:09:38
1、什么是Spring? Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Java应用程序中,但对Java EE平台上的Web应用程序有更好的扩展性。Spring框架的目标是使得Java EE应用程序的开发更加简捷,通过使用POJO为基础的编程模型促进良好的编程风格。 2、Spring有哪些优点? 轻量级:Spring在大小和透明性方面绝对属于轻量级的,基础版本的Spring框架大约只有2MB。 控制反转(IOC):Spring使用控制反转技术实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。 面向切面编程(AOP): Spring支持面向切面编程,同时把应用的业务逻辑与系统的服务分离开来。 容器:Spring包含并管理应用程序对象的配置及生命周期。 MVC框架:Spring的web框架是一个设计优良的web MVC框架,很好的取代了一些web框架。 事务管理:Spring对下至本地业务上至全局业务(JAT)提供了统一的事务管理接口。 异常处理:Spring提供一个方便的API将特定技术的异常(由JDBC, Hibernate, 或JDO抛出)转化为一致的、Unchecked异常。 3、Spring 事务实现方式 编程式事务管理:这意味着你可以通过编程的方式管理事务,这种方式带来了很大的灵活性,但很难维护。 声明式事务管理

USB通信协议深入理解

半腔热情 提交于 2019-11-28 05:21:00
0. 基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成; 一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。 USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。 1. 包(Packet) 包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。数据在 USB总线上的传输以包为单位,包只能在帧内传输。高速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。帧的起始由一个特定的包(SOF 包)表示,帧尾为 EOF。EOF不是一个包,而是一种电平状态,EOF期间不允许有数据传输。 注意:虽然高速USB总线和全速/低速USB总线的帧周期不一样,但是SOF包中帧编号的增加速度是一样的,因为在高速USB系统中,SOF包中帧编号实际上取得是计数器的高11位,最低三位作为微帧编号没有使用,因此其帧编号的增加周期也为 1mS USB总线上的情形是怎样的? 包是USB总线上数据传输的最小单位,不能被打断或干扰,否则会引发错误。若干个数据包组成一次事务传输,一次事务传输也不能打断,属于一次事务传输的几个包必须连续,不能跨帧完成。一次传输由一次到多次事务传输构成,可以跨帧完成。

DLINQ(LINQ to SQL)之事务处理和并发处理

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-28 03:22:47
介绍 以Northwind为示例数据库,DLINQ(LINQ to SQL)之事务处理和并发处理 示例 TransactionAndConcurrency.aspx <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="TransactionAndConcurrency.aspx.cs" Inherits="LINQ_DLINQ_TransactionAndConcurrency" Title="事务处理和并发处理" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 事务处理和并发处理详见:TransactionAndConcurrency.aspx.cs </asp:Content> TransactionAndConcurrency.aspx.cs using System; using System.Data; using System.Configuration

步步为营VS 2008 + .NET 3.5(12) - DLINQ(LINQ to SQL)之事务处理和并发处理

核能气质少年 提交于 2019-11-28 03:20:57
[索引页] [源码下载] 步步为营VS 2008 + .NET 3.5(12) - DLINQ(LINQ to SQL)之 事务处理和并发处理 作者: webabcd 介绍 以Northwind为 示例数据库 ,DLINQ(LINQ to SQL)之 事务处理和并发处理 示例 TransactionAndConcurrency.aspx <% @ Page Language = " C# " MasterPageFile = " ~/Site.master " AutoEventWireup = " true " CodeFile = " TransactionAndConcurrency.aspx.cs " Inherits = " LINQ_DLINQ_TransactionAndConcurrency " Title = " 事务处理和并发处理 " %> < asp:Content ID ="Content1" ContentPlaceHolderID ="head" runat ="Server" > </ asp:Content > < asp:Content ID ="Content2" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="Server" > 事务处理和并发处理详见

Linq to Sql 事务处理

ⅰ亾dé卋堺 提交于 2019-11-28 03:20:40
Linq to SQL支持三种事务处理模型:显式本地事务、显式可分发事务、隐式事务 1. 隐式事务 当调用SubmitChanges 时,L2S会检查当前环境是否开启了事务(下面两节中创建的事务),如果没有开始事务,则 L2S启动本地事务(IDbTransaction),并使用此事务执行所生成的 SQL 命令。 使用Reflector查看DataContext.SubmitChanges的源代码(见本文最后的附录),可以看到,如果开启了一个事务,并将其传给DataContext.Transaction,则在执行SubmitChanges时就不会再重新开启一个新的事务了。 进行此调用时,DataContext 会设法将您所做的更改转换为等效的 SQL 命令。您可以使用自己的自定义逻辑来重写这些操作,但提交顺序是由 DataContext 的一项称作“更改处理器”的服务来协调的。事件的顺序如下: 当您调用 SubmitChanges 时,LINQ to SQL 会检查已知对象的集合以确定新实例是否已附加到它们。如果已附加,这些新实例将添加到被跟踪对象的集合。 所有具有挂起更改的对象将按照它们之间的依赖关系排序成一个对象序列。如果一个对象的更改依赖于其他对象,则这个对象将排在其依赖项之后。 在即将传输任何实际更改时,LINQ to SQL 会启动一个事务来封装由各条命令组成的系列。

Linq to sql:事务处理

久未见 提交于 2019-11-28 03:19:54
Linq to sql 在提交更新的时候默认会创建事务,一部分修改发生错误的话其它修改也不 会生效: ctx.Customers.Add(new Customer { CustomerID = "abcdf", CompanyName = "zhuye" }); ctx.Customers.Add(new Customer { CustomerID = "abcde", CompanyName = "zhuye" }); ctx.SubmitChanges(); 假设数据库中已经存在顾客 ID 为“abcde”的记录,那么第二次插入操作失败将会导致第 一次的插入操作失效。执行程序后会得到一个异常,查询数据库发现“abcdf”这个顾客也没 有插入到数据库中。 如果每次更新后直接提交修改,那么我们可以使用下面的方式做事务: if (ctx.Connection != null) ctx.Connection.Open(); DbTransaction tran = ctx.Connection.BeginTransaction(); ctx.Transaction = tran; try { CreateCustomer(new Customer { CustomerID = "abcdf", CompanyName = "zhuye" }); CreateCustomer(new

Linq to Sql:三种事务处理方式

会有一股神秘感。 提交于 2019-11-28 03:19:03
Linq to Sql : 三种事务处理方式 Linq to SQL支持三种事务处理模型:显式本地事务、显式可分发事务、隐式事务。(from MSDN: 事务 (LINQ to SQL) )。MSDN中描述得相对比较粗狂,下面就结合实例来对此进行阐述。 0. 测试环境 OS Windows Server 2008 Enterprise + sp1 IDE Visual Studio 2008, .net framework 3.5 + SP1 DB SQL Server 2000 + sp4 SQL Server 2008 Enterprise Edition 1. 隐式事务 当调用SubmitChanges 时,L2S会检查当前环境是否开启了事务(下面两节中创建的事务),如果没有开始事务,则 L2S启动本地事务(IDbTransaction),并使用此事务执行所生成的 SQL 命令。 使用Reflector查看DataContext.SubmitChanges的源代码(见本文最后的附录),可以看到,如果开启了一个事务,并将其传给DataContext.Transaction,则在执行SubmitChanges时就不会再重新开启一个新的事务了。 例如,下面的代码会创建应隐式事务: 1: public static void TestTranIn2000() 2: { 3:

Linq To Sql : 三种事务处理方式

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-28 03:18:49
Linq To Sql : 三种事务处理方式 Linq To Sql : 三种事务处理方式: Linq To SQL支持三种事务处理模型:显式本地事务、显式可分发事务、隐式事务。 1.隐式事务 当调用SubmitChanges 时,L2S会检查当前环境是否开启了事务(下面两节中创建的事务),如果没有开始事务,则 L2S启动本地事务(IDbTransaction),并使用此事务执行所生成的 SQL 命令。 使用Reflector查看DataContext.SubmitChanges的源代码(见本文最后的附录),可以看到,如果开启了一个事务,并将其传给DataContext.Transaction,则在执行SubmitChanges时就不会再重新开启一个新的事务了。 例如,下面的代码会创建应隐式事务: public static void TestTranIn2000() { using (SQL2000.Sql2000DataContext context1 = new SQL2000.Sql2000DataContext()) { List<SQL2000.TLINQ> linq = context1.TLINQ.ToList(); linq.ForEach(e => e.Value += e.Value); context1.SubmitChanges(); } }