自用类库整理之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实现,非常在意性能的慎用
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
最后附上文件源码及相关DLL:SQL.rar