软件设计:DAO层该如何设计

关于Dao层的设计我现在也还是有点模糊,大大小小的项目也做了五六个了,负责的数据库设计也有三四个了。

在对Dao层进行设计时采用过两种方案:

  方案一:每一表对应一个Dao类(接口也可),每个Dao将完成对该表的增删改查以及业务上要求的查询操作。这么设计的话如果表很多的话将会产生很多类,并且将会出现大量重复的代码,因为每一个Dao中都将涉及到基础的增删改查。

  方案二:写一个基础的类,可以完成基本的增删改查,其他的对于业务上有额外需求的表单独在写一个类,不过这个类只包括额外的功能。这里的基础类写的时候是需要严格注意的,因为采用的类似映射的实现,需要你把实体类设计的同表结构一摸一样,因为在该类中对数据库的增删改查的Sql语句就是通过对实体类类名以及对实体类类中属性的提取完形成的。

  这里给出一个基本的添加方法(vb.net实现):

Public  Class SqlDao :  Implements Dal. IDao

         Private SqlDr  As SqlDataReader
         Private SqlCon  As SqlConnection
         Private SqlCmd  As SqlCommand
         '从配置文件app.config中取得连接数据库的字符串
         Private strConnect  As  String  = ConfigurationManager. AppSettings ( "strCon" )
         '得到类名
         Private strClassName  As  String
         '得到类的类型
         Private mType  As Type
         '得到属性集
         Private mProS  As PropertyInfo ( )

         '在初始化方法中连接数据库
         'Public Sub Init(ByVal obj As Object) Implements IDao.Init
         '    SqlCon = New SqlConnection(strConnect)

         '    '在构造函数中对必要类型进行初始化
         '    strClassName = TypeName(obj)
         '    mType = obj.GetType()
         '    mProS = mType.GetProperties
         'End Sub

         '连接数据库的一个私有方法
         Private  Function GetCon ( )  As SqlConnection  Implements IDao. GetCon
             Try
                 If  (SqlCon. State  =</
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值