自用类库整理之SqlHelper和MySqlHelper

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自用类库整理之SqlHelper和MySqlHelper相关的知识,希望对你有一定的参考价值。

原文: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实现,非常在意性能的慎用

 

技术分享 SqlHelper.cs
技术分享 SqlHelperExtension.cs
技术分享 SqlHelperSchemaExtension.cs
技术分享 MySqlHelper.cs
技术分享 MySqlHelperExtension.cs

最后附上文件源码及相关DLL:SQL.rar

以上是关于自用类库整理之SqlHelper和MySqlHelper的主要内容,如果未能解决你的问题,请参考以下文章

参考SQLHelper编写的OracleHelper

整理出一个比较实用的SqlHelper类 满足大多数情况的使用

【自用】RPGMakerMv脚本知识整理

自用Chrome插件整理推荐

希腊罗马哲学框架整理(自用)

JDBC之SqlHelper