数据库连接方案比拼

数据库连接方案比拼


.net曾经值得我们学习的petshop框架和现在我们普遍使用的Provider模式再到最近刚更新的Enterprise Library 3.0.

虽然已经做到了兼容多种数据库,但你一换数据库的话,意味着你还是需要写一大堆重复的代码,可能有工具帮你写.如果我们的系统真的到了这种地步,抽象工厂的实现方法还是没有减少我们的工作量.

最近看过一个叫锐傲的开源博客,值得大家学习,还有第一本书
Nhibernate in Action要出版了.相信以后ORM会越来越流行.

scottgu发表了一篇Working with Data in ASP.NET 2.0,总结 

传说中的
Nhibernate最佳实践已经更新到支持1.2版本了.

我们该如何学习Nhibernate呢?Nhibernate是有文档的,Nhibernate的文档是跟Hibernate差不多的,Hibernate是有中文文档的,两者90%的操作是差不多的,但Nhibernate没Hibernate支持的东西多.对比文档一看遍知.

文档可以到
这里下载

个人认为Nhibernate的灵活性还是最大的,烦的就是配置xml文件,而且很重要,跟性能很有关系.

另外2.0新加的数据源控件使用率最高的应该是ObjectDataSource,看过里面的一些代码,我怎么老感觉当获取数据对象为DataReader时,
数据库连接没有关闭,这个很早就注意到,还是我看错了,大家可以测试下.怎么测试呢

使用SqlDataSource对象,DataSourceCode属性设置为DataReader,在Selected事件中查看Connection的State属性,如果我说的没错的话,大家使用时候要小心了,还是用DataSet安全.

None.gif
    
protected
 
void
 SqlDataSource1_Selected(
object
 sender, SqlDataSourceStatusEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    

dot.gif
{

InBlock.gif
InBlock.gif        Label1.Text
=e.Command.Connection.State.ToString();
ExpandedBlockEnd.gif    }

使用ObjectDataSource的话,虽然后台少了几行代码,其实有时候用的时候会发现没这么的方便的,总是出错.而且有时候总是重新从数据库中读数据绝对的影响性能.我以前就很喜欢用ObjectDataSource,所以不该用的时候还是不要用,刚开始可能感觉这个控件很好玩,我们还得从整体考虑下

大家可以看下
scottgu刚写的
Working with Data in ASP.NET 2.0
.

发现其中有个叫SubSonic的,下过来看了看.好象以前接触过,又一个快速开发的框架.是不是Ruby的做法,自己瞎猜的.

我们还是看需求而定吧,我们并非就一定需要ORM

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111100.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java基础之序列化对象Serialized

    Java基础之序列化对象Serialized文章目录序列化对象Serialized目的:序列化类型应用场景代码案例直接应用自定义对象序列化序列化对象Serialized目的:序列化机制允许将实现序列化的Java对象转换成字节序列,这些字节序列可以被保存在磁盘上,或者通过网络传输,以备以后重新恢复成原来的对象.序列化类型对象的序列化(serialize)指将一个Java对象写入IO流中对象的反序列化机制(Deserialize)则指从IO流中恢复该Java对象.应用场景当你想把的内存中的对象保存到一个文件中或者数据库中时候;

    2022年6月24日
    29
  • Objective-C路成魔【18-复制对象】[通俗易懂]

    Objective-C路成魔【18-复制对象】

    2022年1月17日
    41
  • android控件大全及用法_学双人舞一步一步教学

    android控件大全及用法_学双人舞一步一步教学GridView用于显示二维滚动网格的View。同ListView一样,他的数据项也是从ListAdapter中产生。关于他的使用方法可参见官网的示例GridView 。下面先了解下GridView中常用到的属性:1、android:numColumn:指定GridView的列数,如果指定为auto_fit,则可能根据控件的大小自动调整每行显示的列数。2、android:st

    2025年5月22日
    2
  • Android下基于Iptables的一种app网络访问控制方案(二)

    Android下基于Iptables的一种app网络访问控制方案(二)3.如何在Android系统中集成?以上通过adb shell命令行在Android设备上将方案调通之后,接下来考虑如何集成在Android系统中。作为一个整体解决方案,需要至少解决两部分功能:(1)网络访问规则。包括规则定义、存储、对外接口、对内转化成Iptables命令。(2)Iptables命令执行。第一部分比较简单,在此不详述。主要看第二部分。对于某一个垂直功能,And

    2022年7月23日
    5
  • emwin教程_emwin教程

    emwin教程_emwin教程1.位图显示(1)BmpCvt[位图转换器]作用将位图从PC格式转换为C文件,emwin可使用的位图在C文件中定义为GUI_BITMAP结构体。注:如果图片要转化为bmp格式,可以用画图软件,像素大小要合适设置如下:…

    2022年10月14日
    0
  • java 生成中文字符乱码,java汉字乱码的原因与解决方法

    java 生成中文字符乱码,java汉字乱码的原因与解决方法在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。1、在网页中输出中文。JAVA在网络传输中使用的编码是”ISO-8859-1″,故在输出时需要进行转化,如:Stringstr=”中文”;str=newString(str.get…

    2022年7月8日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号