最近有很多小伙伴咨询关于如何创建一个完美的DAO的问题,小编结合多年的经验整理出来一些如何打造完美的自己对应的资料,分享给大家。
你的意思是创建ado数据库连接么?
//获得DataSet
string connectionString = "Data Source=192.168.0.x;Initial Catalog=xxxx;User ID=xxxx;Password=xxxxx";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand("select * from admin", connection);
SqlDataAdapter sqlDA = new SqlDataAdapter();
SqlCommandBuilder build = new SqlCommandBuilder(sqlDA);//构造SQL语句
DataSet dataSet = new DataSet();
sqlDA.SelectCommand = command;
sqlDA.Fill(dataSet);
connection.Close();

你好,你的问法本身有些不妥,dao就属于应用中的一层。可能你想说的是以下的情况:
初级DAO模式:
例如::写一个类 操作1张表 针对这张表的所有操作都以方法的形式写在这个类中 1个操作对应1个方法要求是外部通过调用这个类的方法达到操作某张表的目的时不需要写任何和数据库以及JDBC相关的代码,这个类的命名就是XXDAO
比如表叫做 t_goods 商品表那么操作它的DAO就叫GoodsDAO
高级DAO模式:
例如:即DAO工厂模式,多个XXDAO实现同一个接口或者继承同一个基类,编写一个工厂类通过工厂模式(简单工厂模式或利用反射动态加载均可)获得接口或基类对象,内部实际上封装返回的是具体的XXDAO类的对象。简单的说即是在1的基础上将创建具体的XXDAO对象的方式由new变为工厂模式实现
例如:UserDAO dao = DAOFactory.create(...);
dao.save()
dao.delete....
引用DAO类型库
1、从“工程”菜单中选择“引用”菜单项;
2、在可引用列表框中选择“Microsoft DAO 3.51 Object Library”项。
3、最后“确定”即可
设置DAO数据类型变量
DAO数据类型变量共分成两种:
1、Database变量
对应于Access数据库,通常在模块中被定义为Public全程变量:
Public AccessDBF As Database
'定义数据库对象实例AccessDBF
2、RecordSet变量
对应于Access数据库中的一个表,可定义为全程变量或局部变量,亦可作为函数参数进行传递:
Dim thePrintTable As RecordSet
'定义一个表对象实例thePrintTable
打开DAO数据类型
1、打开Access的方法
通常可设置一个专门的Public函数用来打开一个Access数据库,并且该函数在启动窗体的Private Sub Form_load ( )过程中被调用,函数定义格式如下:
Public Sub OpenDatabase ( )
Dim sConeect As String
SConnect = ";PWD = 8830428; UID = admin "
'设置打开时的用户名、口令等参数
Set AccessDBF = Nothing
'确认关闭对象实例
Set AccessDBF = WorksPaces (0 ).OpenDatabase (App.Path"/ToXls.MDB",False,sConnect)
'打开当前路径的ToXls.MDB数据库
End Sub
2、打开RecordSet的方法
RecordSet遵循即用即开的原则,所以它通常在函数中打开
Set thePrintTable = AcessDBF.OpenRecordSet ( "Table_1",dbOpenSnapshot )
相关的数据操作
数据实际需要对Access表中的记录、字段、数据项进行操作。下列双重循环把数据输出到Excel对应的单元格中:
For j = 0 To 2
For I = 0 To 3
ThePrintTable.MoveNext
Excel.Sheet.Range ( Trim ( chr ( 71 j*10 I ) ) "G").Value = thePrintTable.Fields (0)
Next I
Next j
关闭数据库
1、关闭Database
它通常在整个应用程序的最后进行操作,即通常出现在Private Sub Form_unload (Cannel As Interger )过程中。命令格式实例如下:
AccessDBF.Close
2、关闭RecordSet
它遵循用完即关的原则,所以通常出现在函数中。当完成了相关的数据操作后就关闭它,下次再用时再打开即可:
thePrintTable.Close
vba就是操作界面.
dim db as dao.database
dim rs as dao.recordset
dim i as long
set db = currentdb
set rs = db.openrecordset("Table1")
i = rs.recordcount
rs.close
db.close
set rs = nothing
set db = nothing
以上代码凭记忆写出, 恕不验证.
步骤如下:
1、创建数据库,创建相应的表;
2、点击图标,选择MyEclipse Datebase Explorer;
3、右击空白区域,选择new菜单,根据提示创建数据库连接,创建好后会显示所创建的连接名,如图mysqldb是创建的数据库连接;
4、选择需要添加hibernate映像文件的工程右击---MyEclipse--Add Hibernate Capabilities;
5、出现如图提示,根据提示下一步,不需要改动东西;
6、出现如图提示,选择刚刚创建的数据库连接名,继续下一步,最后finish;
7、刚刚自动生成的东西,有HibernateSessionFactory.java 和 hibernate.cfg.xml;
8、到MyEclipse Datebase Explorer中刚刚新建的数据库连接选中所有表,点击右键---Hibernate Reverse Enginnering 选中目录存放将要反转出来的实体类查看是否选中Update Hibernate configuration..若没有自己勾选一下,下一步,如图可以设置每张表中id增长方式,及生成的映射文件名称;
9、回到my eclipse enterprise视图下,所有实体类以及配置文件已生成。
建立dao做代码分离,是为了简化改动程序,未来的更改更容易,即只需要局部改动,不需要整体改动。
1、dao的作用就是将对数据库操作的代码从jsp页面分离出来而后封装起来,dao中用到工厂的设计模式,将业务和层现的代码尽可能的分离开,降低偶合度.将dao以及dao的实现都封装到一个工厂当中。
2、起初是在jsp页面去指明dao的具体实现,这样页面的代码中夹杂着业务,如果这个实现要换的化,用到的页面都要换,封装到工厂后,页面掉用某个名字,要改的话到工厂中去改,页面当中的都不用动了。所以,要建立dao做代码分离。
如何创建一个完美的DAO是很多人头疼的问题,尤其是在理解和现实的冲突方面,如何打造完美的自己也同样面临着相似的问题,关注我们,为您服务,是我们的荣幸!
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com