本文转自:http://www.cnblogs.com/lzrabbit/p/3287155.html

自用的SQLHelper和MySqlHelper,除一些通用方法外,封装了一些很实用的批量操作方法,简单介绍下

SqlHelper

  • ExecuteEmptyDataTable 获取空表结构,主要用于需要构造DataTable进行大批量数据插入时使用
  • BulkInsert 大批量数据插入,使用SqlBulkCopy进行大批量数据导入,仅提供了DataTable方式,需要DataReader的请自行重载
  • BatchUpdate 批量数据更新、插入,使用SqlDataAdapter实现,需要进行较大数据量更新、插入时可以使用此方法,性能还不错
  • BatchUpdate,BatchDelete 分批次批量删除、更新数据,此方法应用场景较少,用于需要删除、更新大量数据的同时不造成数据库阻塞且不影响数据库订阅、复制延时等
  • ExecutePageDataTable 通用的分页方法,提供了CTE表达式的支持
  • SqlHelperExtension.cs(ExecuteObject、ExecuteObjects) 提供了泛型获取对象方法支持,依赖依赖AutoMapper.dll实现,非常在意性能的慎用
  • SqlHelperSchemaExtension.cs SqlServer获取数据库、表、索引信息的封装,可以用来辅助写自己的代码生成器,查看数据库索引之类的

MySqlHelper

  • ExecuteEmptyDataTable 获取空表结构,主要用于需要构造DataTable进行大批量数据插入时使用
  • BulkInsert 使用MySqlBulkLoader进行大批量数据导入,仅提供了DataTable方式,需要DataReader的请自行重载
  • BatchUpdate 批量数据更新、插入,使用MySqlDataAdapter实现,需要进行较大数据量更新、插入时可以使用此方法,性能还不错
  • MySqlHelperExtension.csExecuteObject、ExecuteObjects 提供了泛型获取对象方法支持,依赖依赖AutoMapper.dll实现,非常在意性能的慎用

using System;
using System.Collections.Generic;
using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; using System.Text.RegularExpressions; namespace Helpers { /// <summary> /// SqlHelper操作类 /// </summary> public sealed partial class SqlHelper { /// <summary> /// 批量操作每批次记录数 /// </summary> public static int BatchSize = 2000; /// <summary> /// 超时时间 /// </summary> public static int CommandTimeOut = 600; /// <summary> ///初始化SqlHelper实例 /// </summary> /// <param name="connectionString">数据库连接字符串</param> public SqlHelper(string connectionString) { this.ConnectionString = connectionString; } /// <summary> /// 数据库连接字符串 /// </summary> public string ConnectionString { get; set; } #region 实例方法 #region ExecuteNonQuery /// <summary> /// 执行SQL语句,返回影响的行数 /// </summary> /// <param name="commandText">SQL语句</param> /// <param name="parms">查询参数</param> /// <returns>返回影响的行数</returns> public int ExecuteNonQuery(string commandText, params SqlParameter[] parms) { return ExecuteNonQuery(ConnectionString, CommandType.Text, commandText, parms); } /// <summary> /// 执行SQL语句,返回影响的行数 /// </summary> /// <param name="commandType">命令类型(存储过程,命令文本, 其它.)</param> /// <param name="commandText">SQL语句或存储过程名称</param> /// <param name="parms">查询参数</param> /// <returns>返回影响的行数</returns> public int ExecuteNonQuery(CommandType commandType, string commandText, params SqlParameter[] parms) { return ExecuteNonQuery(ConnectionString, commandType, commandText, parms); } #endregion ExecuteNonQuery #region ExecuteScalar /// <summary> /// 执行SQL语句,返回结果集中的第一行第一列 /// </summary> /// <typeparam name="T">返回对象类型</typeparam> /// <param name="commandText">SQL语句</param> /// <param name="parms">查询参数</param> /// <returns>返回结果集中的第一行第一列</returns> public T ExecuteScalar<T>(string commandText, params SqlParameter[] parms) { return ExecuteScalar<T>(ConnectionString, commandText, parms); } /// <summary> /// 执行SQL语句,返回结果集中的第一行第一列 /// </summary> /// <param name="commandText">SQL语句</param> /// <param name="parms">查询参数</param> /// <returns>返回结果集中的第一行第一列</returns> public object ExecuteScalar(string commandText, params SqlParameter[] parms) { return ExecuteScalar(ConnectionString, CommandType.Text, commandText, parms); } /// <summary> /// 执行SQL语句,返回结果集中的第一行第一列 /// </summary> /// <param name="commandType">命令类型(存储过程,命令文本, 其它.)</param> /// <param name="commandText">SQL语句或存储过程名称</param> /// <param name="parms">查询参数</param> /// <returns>返回结果集中的第一行第一列</returns> public object ExecuteScalar(CommandType commandType, string commandText, params SqlParameter[] parms) { return ExecuteScalar(ConnectionString, commandType, commandText, parms); } #endregion ExecuteScalar #region ExecuteDataReader /// <summary> /// 执行SQL语句,返回只读数据集 /// </summary> /// <param name="commandText">SQL语句</param> /// <param name="parms">查询参数</param> /// <returns>返回只读数据集</returns> private SqlDataReader ExecuteDataReader(string commandText, params SqlParameter[] parms) { return ExecuteDataReader(ConnectionString, CommandType.Text, commandText, parms); } /// <summary> 

[转]自用类库整理之SqlHelper和MySqlHelper相关推荐

  1. mysql helper c_自用类库整理之SqlHelper和MySqlHelper

     SqlHelper.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

  2. C#通用类库整理--字符串处理类

    在程序开发中通常需要将字符串转为自己想要的结果,以下三个类库主要实现: 1.GetStrArray(string str, char speater, bool toLower)  把字符串按照分隔符 ...

  3. 自用资源整理 - 君子性非异也,善假于物也

    主要是链接 工具 史上最全Windows安全工具锦集 CTF [CTF Tools](https://github.com/ctf-wiki/ctf-tools) 漏洞 1Day 溯源 恶意代码 渗透 ...

  4. 408 | 王道模拟冲刺题自用笔记整理(第二套)

    T5:森林与二叉树的转换 特殊二叉树.二叉树的性质 高度为h的满二叉树,对应森林的树的个数一定为h. T7:平衡二叉树的性质 T8:图的存储结构

  5. 高数 |【2020数一真题】部分错题及经典题自用思路整理

    T1:积分限与被积函数都等价为无穷小 T2:不连续一定不可导 T3:可微的定义 T4:收敛半径 T6:空间直线与向量 法一:

  6. 高数 |【2021数一真题】部分错题及经典题自用思路整理

    T2:对 1.2 位置求导 T3:泰勒展开的唯一性 首先可观察到奇偶性,排除CD 法一:套公式 法二:乘积 法三:极限 T4:定积分(分割࿰

  7. ios自用url整理

    目录 系统项 其它APP QQ/TIM 微信 支付宝 云闪付 淘宝 抖音 哔哩哔哩 知乎 美团 微博 微博国际版 京东 优酷 爱奇艺 小红书 QQ音乐 腾讯视频 百度地图 百度网盘 百度贴吧 网易云音 ...

  8. java 与大数据学习较好的网站

    C# C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿! https://www.cnblogs.com/doforfuture/p/6293926.htm ...

  9. 高数 | 周洋鑫 冲刺预测题自用整理复习

    自用笔记整理复习. 内容来自2023周洋鑫冲刺班. 加油ヾ(◍°∇°◍)ノ゙ 1.函数极限计算 [加项减项] ☆ 二次积分求极限 [分母与面积同阶]-- 走二重积分中值定理 ☆ 中值点的包装 学思想 ...

最新文章

  1. 13本干货书籍,百余篇原创来了
  2. CVPR 2021 | 论文大盘点:3D目标检测
  3. linux-进程的替换exec函数族
  4. React 组件 API
  5. 第十六届全国大学生智能车竞赛线上赛点赛道审核 -华北赛区
  6. JetBrains产品永久破解
  7. linux查看无线网卡频率,查看无线网卡工作模式
  8. python实现邮件客户端_利用python实现简单的邮件发送客户端示例
  9. JavaScript从入门到放弃 -(四)E5 新增方法
  10. 那个陪你聊微信、发自拍的妹子,可能不是人
  11. Java生产环境下性能监控与调优详解 第3章 基于JVisualVM的可视化监控
  12. Here we want to mention one thing
  13. 华为 HMS 上线独立搜索服务;苹果 App Store 出现 Bug ;Ant Design 4.2.5 发布| 极客头条...
  14. 极限学习机︱R语言快速深度学习进行回归预测
  15. 【2022最新版】微服务面试题总结(65道题含答案解析)
  16. 数据仓库工具hive面试题集锦
  17. Echarts实战案例代码(6):不设区的地级市行政区划3D工作进度五色图
  18. 解决word2016复制粘贴后一直未响应
  19. 关于使用itextpdf生成pdf的页面横向和竖向
  20. 您未被授权查看该页 错误 401.3

热门文章

  1. SARscape_5.2.0和SARscape_5.2.1安装包下载
  2. python 画图_学python画图最快的方式——turtle小海龟画图
  3. 机器人学习--智能移动机器人的有关技术演讲(浙大-熊蓉教授-2018年)
  4. 卫星导航 | 整秒转时分秒(时间转换)
  5. Windows编程一日一练(1)
  6. mysql root 不能登录_mysql root 用户不能登录的问题
  7. 近五年计算机网络技术的发展,计算机网络技术的近期发展
  8. java catch 空指针异常_关于Java:捕获空指针异常
  9. go语言基础到提高(7)-数组
  10. 2021中超1 1006 xor sum