博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net Mvc Dapper 方法封装
阅读量:5960 次
发布时间:2019-06-19

本文共 4733 字,大约阅读时间需要 15 分钟。

首先需要添加 NuGet 包 Dapper 以及引用Configuration

 

<connectionStrings>

     <add name="SqlSrc" connectionString="Data Source=.;Initial Catalog=Demo;Integrated Security=True"/>
</connectionStrings>

 

using Dapper;using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ModelServer{    public class DBDapper    {        //获取连接字符串            public readonly static string sqlconnct = System.Configuration.ConfigurationManager.ConnectionStrings["SqlSrc"].ConnectionString;            //初始化连接对象            public SqlConnection conn = null;            public DBDapper()            {                conn = new SqlConnection(sqlconnct);            }            ///             /// 打开数据库连接            ///             private void OpenConnect()            {                if (conn.State == ConnectionState.Closed)                {                    try                    {                        conn.Open();                    }                    catch (Exception e)                    {                        throw e;                    }                }            }            ///             /// 关闭数据库连接            ///             private void CloseConnect()            {                if (conn.State == ConnectionState.Open)                {                    conn.Close();                }            }            ///             /// 查询语句,必要形参sql语句或存储过程名称,后面参数用于扩展可以不写,若两边有参数中间用null占位            ///             /// 
强类型的类
/// sql执行语句或存储过程名称 /// sql参数,可匿名类型,可对象类型 /// 执行事务 /// /// /// ///
对象集合
public IEnumerable
GetInfoList
(string sql, object parameter = null, IDbTransaction transaction = null, bool buffered = true, int? commandTimeout = default(int?), CommandType? commandType = default(CommandType?)) { try { OpenConnect(); //可以让结果转换成其他集合形式 例:list、array等集合,方法: ToList<>、ToArray<> IEnumerable
result = conn.Query
(sql, parameter, transaction, buffered, commandTimeout, commandType); CloseConnect(); return result; } catch (Exception ex) { throw ex; } } ///
/// 插入、更新或删除语句,必要形参sql语句或存储过程名称,后面参数用于扩展可以不写,若两边有参数中间用null占位 /// ///
强类型的类
///
sql执行语句或存储过程名称 ///
sql参数,可匿名类型,可对象类型 ///
执行事务 ///
///
///
成功:true;失败:false
public bool UpdateSql(string sql, object parameter = null, IDbTransaction transaction = null, int? commandTimeout = default(int?), CommandType? commandType = default(CommandType?)) { try { OpenConnect(); int result = conn.Execute(sql, parameter, transaction, commandTimeout, commandType); CloseConnect(); if (result > 0) { return true; } else { return false; } } catch (Exception ex) { throw ex; } } ///
/// 根据条件获取数据库表中列表数量,必要形参sql,后面参数用于扩展可以不写,若两边有参数中间用null占位 /// ///
sql执行语句或存储过程名称 ///
sql参数,可匿名类型,可对象类型 ///
///
///
///
///
public int GetInfoCounts(string sql, object parameter = null, IDbTransaction transaction = null, bool buffered = true, int? commandTimeout = default(int?), CommandType? commandType = default(CommandType?)) { try { OpenConnect(); //注意:sql语句应该是这种形式 select count(*) as rows from table int result = conn.Query
(sql, parameter, transaction, buffered, commandTimeout, commandType).First(); CloseConnect(); return result; } catch (Exception ex) { throw ex; } } } }

 

转载于:https://www.cnblogs.com/cenwenlin/p/9173408.html

你可能感兴趣的文章
小程序技术方案探讨
查看>>
用友优普发布企业空间2.0 助推企业互联网+
查看>>
文思海辉:大数据发展—源于创新、服务于创新
查看>>
中产委廖明:给中国制造转型的三点建议
查看>>
记一场为未来就绪的企业客户峰会
查看>>
5G来了 中国移动将孵化各种垂直应用 实现万物互联
查看>>
Fortinet为企业提出应对APT攻击的一些建议
查看>>
使用Disk2VHD进行P2V转换需要知道的一些事
查看>>
PHP图片处理库Grafika详细教程(2):图像特效处理模块
查看>>
LXD 2.0 系列(八):LXD中的LXD
查看>>
安装WMware 在Windows平台下学习Linux
查看>>
NodeJS对于Java开发者而言是什么?
查看>>
2016 软件开发的七大趋势:容器技术将统治世界
查看>>
从十大要素筛选主机托管公司
查看>>
IDC:2020年企业将在网络安全上花费1016亿美元
查看>>
【独家】新智元×出门问问六问六答:获大众 1.8 亿美元后准备做什么
查看>>
苹果在国贸改造了一套房 智能家居圈都慌了!
查看>>
一年400元,监控APP让你知道对方的所有隐私
查看>>
《VMware Virtual SAN权威指南(原书第2版)》一1.2 软件定义的存储
查看>>
《UNIXLinux程序设计教程》一3.3 设置描述字的文件位置
查看>>