自用类库整理之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

原文地址:https://www.cnblogs.com/lizhigang/p/7299533.html