dapper mysql帮助类_DapperHelper 帮助类

这是一个C#代码示例,展示了如何创建一个名为DapperHelper的类,该类封装了Dapper库的常用数据库操作,如查询、增删改、事务处理以及调用存储过程。类中提供了静态方法来执行SQL查询、获取单个或多个数据、执行更新和删除操作,并支持带参数的存储过程。此外,还包含了事务处理的两种实现方式。
摘要由CSDN通过智能技术生成

using System;

using System.Collections.Generic;

using System.Configuration;

using System.Data;

using System.Data.Common;

using System.Data.SqlClient;

using System.Linq;

using Dapper;

namespace DAL

{

public class DapperHelper

{

///

/// 数据库连接字符串

///

private static readonly string connectionString =

ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;

///

/// 查询列表

///

/// 查询的sql

/// 替换参数

///

public static List Query(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.Query(sql, param).ToList();

}

}

///

/// 查询第一个数据

///

///

///

///

public static T QueryFirst(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.QueryFirst(sql, param);

}

}

///

/// 查询第一个数据没有返回默认值

///

///

///

///

public static T QueryFirstOrDefault(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.QueryFirstOrDefault(sql, param);

}

}

///

/// 查询单条数据

///

///

///

///

public static T QuerySingle(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.QuerySingle(sql, param);

}

}

///

/// 查询单条数据没有返回默认值

///

///

///

///

public static T QuerySingleOrDefault(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.QuerySingleOrDefault(sql, param);

}

}

///

/// 增删改

///

///

///

///

public static int Execute(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.Execute(sql, param);

}

}

///

/// Reader获取数据

///

///

///

///

public static IDataReader ExecuteReader(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.ExecuteReader(sql, param);

}

}

///

/// Scalar获取数据

///

///

///

///

public static object ExecuteScalar(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.ExecuteScalar(sql, param);

}

}

///

/// Scalar获取数据

///

///

///

///

public static T ExecuteScalarForT(string sql, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

return con.ExecuteScalar(sql, param);

}

}

///

/// 带参数的存储过程

///

///

///

///

public static List ExecutePro(string proc, object param)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

List list = con.Query(proc,

param,

null,

true,

null,

CommandType.StoredProcedure).ToList();

return list;

}

}

///

/// 事务1 - 全SQL

///

/// 多条SQL

/// param

///

public static int ExecuteTransaction(string[] sqlarr)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

using (var transaction = con.BeginTransaction())

{

try

{

int result = 0;

foreach (var sql in sqlarr)

{

result += con.Execute(sql, null, transaction);

}

transaction.Commit();

return result;

}

catch (Exception ex)

{

transaction.Rollback();

return 0;

}

}

}

}

///

/// 事务2 - 声明参数

///demo:

///dic.Add("Insert into Users values (@UserName, @Email, @Address)",

/// new { UserName = "jack", Email = "380234234@qq.com", Address = "上海" });

///

/// 多条SQL

/// param

///

public static int ExecuteTransaction(Dictionary dic)

{

using (SqlConnection con = new SqlConnection(connectionString))

{

using (var transaction = con.BeginTransaction())

{

try

{

int result = 0;

foreach (var sql in dic)

{

result += con.Execute(sql.Key, sql.Value, transaction);

}

transaction.Commit();

return result;

}

catch (Exception ex)

{

transaction.Rollback();

return 0;

}

}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值