您的位置:首页 > 博客中心 > 数据库 >

分享我的数据库访问帮助类EasyDBUtility.dll C#

时间:2022-03-10 17:27

   先说说写这个帮助类的原由吧,以前编写项目代码,发现读取数据库数据到List集合或添加、更新参数化SQL语句的时候,需要编写大量的代码,尤其是表的字段比较多的时候,感觉非常明显,不仅是个体力活,而且编程效率很低。在Google,百度了很多帮助类后,发现一个问题是很多帮助类自定义的方法名称很多,不利于初学者快速掌握,而且性能灵活性方面也感觉不太好,于是我在以前老师给我的数据库帮助类上面进行了大量改进,使其使用简单方便,效率更高。在编写这个帮助类的时候,其实ORM已经出现,但是个人感觉ORM一个是效率不是很好,再就是对于刚入职的员工,有很多根本就不会,还得重新学习,这样对项目开发有很大影响。分享这个帮助类的原因一个是代码现在基本上稳定了(使用了2年半),再就是看到了很多人刚入职的都在重复我以前的痛苦,包括我的同学、同事,深有体会。好了,不废话了,下面就对EasyDBUtility进行介绍。个人语言组织能力有限,希望大家理解。

数据库访问帮助类EasyDBUtility简介
1.支持.net frmework3.0及以上版本;
2.支持SqlServer、SqlServerCe、Access、Sqlite、MySql、Oracle、PostgreSQL、Sybase、Db2、Firebird数据库;
3.支持增删改查、参数化、存储过程、事务、分布式事务等;
4.支持多个数据库同时调用,只需传入不同连接字符串;
5.增删改查时能够根据传入的对象自动参数化SQL语句中需要参数化的变量,减少参数化代码编写,在插入和更新字段比较多时优点明显;
6.查询使用Emit绑定DataReader中数据到List的对象集合,缓存Emit后效率高过通过非索引方式获取数据的手写代码,开发者不用再繁复的编写读取DataReader中数据的大量代码,有效节约开发时间;
7.在执行完sql命令后自动关闭数据库连接,除非设置AutoClose属性为false,帮助类实现了IDisposable接口,即使忘记关闭数据库,在GC回收时也会关闭未使用的数据库连接;
8.使用比较简单灵活,基本没有自创语法或方法名称,CreateCommand()、AddParameter()、CommandText()、BeginTransaction()、Commit()、RollBack()、Close()、ExecuteNonQuery()、ExecuteReader()、ExecuteScalar()、ExecuteDataAdapter()的使用和.net frmework中自带数据库访问类的使用很相似,ExecuteMultipleReader()的使用可以参照示例的第三点的(4)小点使用,用于对查询的多个结果集合的读取;
9.帮助类中提供数据库操作对象的对外属性,可以方便设置数据库的相关参数,如helper.Cmd.CommandTimeout=60等

gxlsystem.com,布布扣


帮助类参考:
1.http://my.csdn.net/qldsrx提供的SqlMapper,非常感谢qldsrx在我发布的Emit相关帖子中的解答
2.http://automapper.codeplex.com/,AutoMapper开源项目,非常强大
3.参考微软开源项目Pet Shop 5.0中DBUtitlity


如果有好的建议或者发现bug,请发邮件到qin_shili@qq.com或到我的博客http://www.cnblogs.com/slyzly留言,代码如有更新,将在http://www.cnblogs.com/slyzly中进行公布,如果要支持.net2.0,可以使用源码里面的DBUtility文件夹下面的代码

 

源代码下载

http://pan.baidu.com/s/1hq3ijkw

解压密码:shili

分享我的数据库访问帮助类EasyDBUtility.dll C#,布布扣,bubuko.com

热门排行

今日推荐

热门手游