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;

}

}

}

}

}

}

dapper mysql帮助类_DapperHelper 帮助类相关推荐

  1. dapper mysql通用类_Dapper ORM 用法

    假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.点击下载 Dapper的优势: 1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编 ...

  2. c mysql封装 jdbc_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现

    最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...

  3. mysql 常用小工具包_mssql+mysql小工具(无需环境依赖)-mysql数据库批量实体CS类导出工具下载v3.0免费版-西西软件下载...

    mysql数据库批量实体CS类导出工具是一个功能简单的数据库小工具,可以选中数据表执行查询,以及自定义sql语句,查询或者执行增删改,可以查看目标服务器对应数据库以及表和字段信息,不需要单独安装mys ...

  4. 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)...

    最近看老罗的视频,跟着完成了利用Java操作MySQL数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...

  5. mysql封装 javabean,利用Java针对MySql封装的jdbc框架类JdbcUtils完整实现(包含增删改查、JavaBean反射原理,附源码)...

    最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...

  6. c mysql 工具类_Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类

    该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...

  7. java mysql jdbc 封装_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)...

    近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...

  8. mysql的数据层基类_C# 基于MySQL的数据层基类(MySQLHelper)

    using System; using System.Data; using MySql.Data; using MySql.Data.MySqlClient; namespace DBUtility ...

  9. hibernate mysql 映射_使用hibernate建立mysql连接以及生成映射类和配置文件*.cfg.xml

    JAVA浅析字节流与字符流 [概括] 字节流是通用的,既可以操作图片又可以操作文本,但一般都用于操作图片.字符流是基于字节流的,因为字符流内部融合编码表,所以用来操作文本. 1.在字节输入流中能根据文 ...

最新文章

  1. rgb和yuv的区别
  2. 关于学习Python的一点学习总结(16->popitem()->sedefault()->update()->values())
  3. 皮一皮:加了个班还以为鬼门大开魔界连同了...
  4. 怎样在vue单页面中引入其他组件
  5. SQL优化 · 经典案例 · 索引篇
  6. 推荐系统: 数据、问题与算法
  7. eclipse修改java类时不自动重启
  8. 全国城市三级联动-java版
  9. 《大学章句》光剑续编
  10. 计算机操作常用的五大功能是,计算机操作系统的五大功能是什么
  11. win8计算机禁止休眠,win8系统设置禁止电脑休眠的教程方法
  12. 软考高项你想要的全在这
  13. w10共享网络没有计算机,win10网络共享找不到对方电脑怎么办
  14. 新建git分支(歪门邪道)
  15. 【爬虫笔记】关于Beautiful Soup 4
  16. c语言中7行7列星号怎么做,C语言*星号的秘密
  17. 常用 EQ、NE、GT、LT、GE、LE的含义
  18. vue 返回刷新页面 不keepAlive
  19. 山东大学数据结构课程设计实验五(低风险出行系统)
  20. spring boot配置阿里云maven库

热门文章

  1. Python学习笔记之类(四)
  2. 安卓学习之路之如何显示一个listview列表视图
  3. Oracle数据库导入csv文件(sqlldr命令行)
  4. Kafka常见痛点及优化方案
  5. Kafka将逐步弃用对zookeeper的依赖
  6. 阿里巴巴开发公约节选(日常编程较常用的一些)
  7. scrum回顾_[PM]敏捷开发之Scrum总结
  8. 西北大学集训队选拔赛 F-三生三世(STL set和map的简单应用)
  9. linux 打zip gz tar,linux把文件压缩成.tar.gz的命令 | PT Ubuntu Blog
  10. Firefox 密码管理器 Lockbox 推出 Android 版