dapper mysql 事务_关于dapper的事务处理

usingDapper;usingModel.DB;usingMySql.Data.MySqlClient;usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.Common;namespaceTools.DB

{public classDapperHelper

{private staticDapperHelper dapperHelper;private static readonly object lockObj = new object();public static string connStr = string.Empty;privateDapperHelper()

{//数据库连接字符串

connStr =Conn.CreateInstance().ConnStr;

}public staticDapperHelper CreateDapperHelper()

{if (dapperHelper == null)

{lock(lockObj)

{if (dapperHelper == null)

{

dapperHelper= newDapperHelper();

}

}

}returndapperHelper;

}///

///增删改///

/// 数据类型 content可以是一个对象也可以是一个集合

///

///

///

public int ExecuteNonQuery(stringsql, T obj)

{int result = 0;try{using (var conn = newMySqlConnection(connStr))

{

result=conn.Execute(sql, obj);

}

}catch{ }returnresult;

}///

///增删改///

/// 数据类型 content可以是一个对象也可以是一个集合

///

///

///

public int ExecuteNonQuery(stringsql, T obj, IDbTransaction tran, IDbConnection conn)

{int result = 0;try{

result=conn.Execute(sql, obj, tran);

}catch{//回滚事务并销毁连接对象

Rollback(tran,conn);

DisposeConn(conn);return -1;

}returnresult;

}///

///返回首行首列///

///

///

///

public object ExecuteScalar(string sql, object obj = null)

{objectresult;using (var conn = newMySqlConnection(connStr))

{

result=conn.ExecuteScalar(sql, obj);

}returnresult;

}///

///查询单条记录///

///

///

/// new{...}

///

public T ExecuteQuery(string sql, object obj = null)

{

T result;using (var conn = newMySqlConnection(connStr))

{

result= conn.QueryFirstOrDefault(sql, obj);

}returnresult;

}///

///使用事务查询单条记录///

///

///

/// new{...}

///

public T ExecuteQuery(string sql, IDbTransaction tran, IDbConnection conn, object obj = null)

{

T result;

result= conn.QueryFirstOrDefault(sql, obj, tran);returnresult;

}///

///查询多条记录///

///

///

/// new{...}

///

public IEnumerable ExecuteQuerys(string sql, object obj = null)

{

IEnumerableresult;using (var conn = newMySqlConnection(connStr))

{

result= conn.Query(sql, obj);

}returnresult;

}///

///使用事务查询多条记录///

///

///

/// new{...}

///

public IEnumerable ExecuteQuerys(string sql, IDbTransaction tran, IDbConnection conn, object obj = null)

{

IEnumerableresult;

result= conn.Query(sql, obj,tran);returnresult;

}///

///获得conn对象///

///

publicIDbConnection GetConn()

{var conn = newMySqlConnection(connStr);returnconn;

}///

///打开conn///

///

public voidOpenConn(IDbConnection conn)

{

conn.Open();

}///

///销毁conn///

///

public voidDisposeConn(IDbConnection conn)

{

conn.Dispose();

conn.Close();

}///

///开启事务///

///

///

publicIDbTransaction BeginTransaction(IDbConnection conn)

{

IDbTransaction tran=conn.BeginTransaction();returntran;

}///

///提交事务///

///

///

public voidCommit(IDbTransaction tran, IDbConnection conn)

{

tran.Commit();

}///

///回滚事务///

///

///

public voidRollback(IDbTransaction tran, IDbConnection conn)

{

tran.Rollback();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值