Dapper学习笔记(4)-事务

Dapper中对事务的处理也非常简单,如下代码所示:

 1         private void DapperTransaction()
 2         {
 3             using (IDbConnection con = OpenConnection())
 4             {
 5                 IDbTransaction tran = con.BeginTransaction();
 6                 try
 7                 {
 8                     string query = "update T_Role set RoleName=‘开发主管‘ where RoleId=4";//更新一条记录
 9                     con.Execute(query, null, tran, null, null);
10                     //throw new Exception();
11                     query = "delete from T_Role where RoleId=8";//删除一条记录
12                     con.Execute(query, null, tran, null, null);
13                     tran.Commit();
14                 }
15                 catch (Exception ex)
16                 {
17                     tran.Rollback();
18                 }
19             }
20         }
时间: 2024-08-01 19:30:20

Dapper学习笔记(4)-事务的相关文章

JDBC学习笔记(7)——事务的隔离级别&批量处理

数据库事务的隔离级别 对于同时运行的多个事务, 当这些事务访问数据库中相同的数据时, 如果没有采取必要的隔离机制, 就会导致各种并发问题:脏读: 对于两个事物 T1, T2, T1 读取了已经被 T2 更新但还没有被提交的字段. 之后, 若 T2 回滚, T1读取的内容就是临时且无效的.不可重复读: 对于两个事物 T1, T2, T1 读取了一个字段, 然后 T2 更新了该字段. 之后, T1再次读取同一个字段, 值就不同了.幻读: 对于两个事物 T1, T2, T1 从一个表中读取了一个字段,

Dapper 学习笔记

一.基础 1.Dapper代码就一个SqlMapper.cs文件, 前人测试Dapper速度较快 的Orm,读取速度接近IDataReader,超过DataTable. 2.a.下载地址 https://github.com/StackExchange/dapper-dot-net ,包含在线示例 (test project).b.net 下可以通过 Nuget下载. 3.实体类用NHibernateMappingGenerator生成. 二.示例代码 1.sql脚本 USE [FactoryD

Spring.Net学习笔记(7)-事务

一.开发环境 操作系统:Win7 编译器:VS2010 二.涉及程序集 Spring.Core.dll Spring.Data.dll Common.Logging.dll 三.开发过程 1.项目结构 2.IAccountDao.cs namespace Dao { public interface IAccountDao { void Create(string name, string userName); void Delete(string userName); } } 3.IUserD

Dapper学习笔记(一)

https://github.com/StackExchange/dapper-dot-net Dapper是对IDbConnection的扩展,需要使用Dapper提供的扩展只需要把SqlMapper这个文件放到自己的项目中即可.这样项目中的IDbConnection就可以直接使用Dapper中的扩展方法,这是怎么实现的呢?百度才知道这个是C#提供的扩展方法. 扩展方法如何使用呢?直接看代码. 对Object写一个自定义的ToString()方法,输出"自定义Object的ToString()

Hibernate学习笔记_事务

 事务并发处理(面试的意义更大)                        a)   事务:ACID i.   Atomic(原子性) Consistency(一致性) Isolation(隔离性) Durability(独立性) b)   事务并发时可能出现的问题: 第一类丢失更新(Lost Update) 时间 取款事务A 存款事务B T1 开始事务   T2   开始事务 T3 查询账户余额为1000元   T4   查询账户余额为1000元 T5   汇入100元把余额改为1100元

Redis学习笔记(7)-事务

package cn.com; import java.util.List; import redis.clients.jedis.Jedis; import redis.clients.jedis.Transaction; public class Redis_Transactions { public static Jedis redis = new Jedis("localhost", 6379);// 连接redis /** * 基本事务用法 * 默认给user1,user2都

Spring学习笔记——Spring事务只对运行时异常回滚

我们在使用Spring时候一般都知道事务在遇到异常的时候会回滚,岂不知Spring的事务默认只有在发生运行时异常即:RunTimeException时才会发生事务,如果一个方法抛出Exception或者Checked异常Spring的事务并不会回滚. 下面我们来看看异常的分类,异常一般分为Checked异常和RunTime异常. CheckedException: Java认为Checked异常都是可以被处理的异常,所以Java程序必须显式的处理Checked异常,如果程序没有处理checked

Spring学习笔记——Spring事务仅仅对执行时异常回滚

我们在使用Spring时候一般都知道事务在遇到异常的时候会回滚.岂不知Spring的事务默认仅仅有在发生执行时异常即:RunTimeException时才会发生事务,假设一个方法抛出Exception或者Checked异常Spring的事务并不会回滚. 以下我们来看看异常的分类.异常一般分为Checked异常和RunTime异常. CheckedException: Java觉得Checked异常都是能够被处理的异常,所以Java程序必须显式的处理Checked异常,假设程序没有处理checke

【转】JDBC学习笔记(7)——事务的隔离级别&批量处理

转自:http://www.cnblogs.com/ysw-go/ 数据库事务的隔离级别 对于同时运行的多个事务, 当这些事务访问数据库中相同的数据时, 如果没有采取必要的隔离机制, 就会导致各种并发问题:脏读: 对于两个事务 T1, T2, T1 读取了已经被 T2 更新但还没有被提交的字段. 之后, 若 T2 回滚, T1读取的内容就是临时且无效的.不可重复读: 对于两个事务 T1, T2, T1 读取了一个字段, 然后 T2 更新了该字段. 之后, T1再次读取同一个字段, 值就不同了.幻