DAO其实是一个数据访问层的设计机制,并不一定非要在Spring中,在各种框架的系统中,都可以用DAO来简称数据访问层。这层设计,可以灵活的要你访问各个数据库数据,缓存数据,检索数据,提供了各种方法。程序员几乎只要关注业务模块中间层的设计,数据库这块几乎处于一种托管状态。以后系统移植,升级啊,集成其他系统啊,都很方便。维护成本降低很多。
dao里创建一个存储数据库查询出来List泛型集合,action调用这个集合
Map request = (Map) ActionContextgetContext()get("request");
requestput("userlist", UserDaogetAllUser());
或是
<c:foreach items="${requestScopeuserlist}" var="user">
${user。。。。}
</c:foreach>
Struts的基本结构,JSP页面是表示层视图, *** 作是业务逻辑控制层控制,Dao、DaoImpl、Service、ServiceImpl都是数据访问的东西。
通用服务和ServiceImpl用于连接动作与Dao和DaoImpl。通常XML中使用Spring注释。Dao和DaoImpl是最后 *** 作数据库的
*** 作是控制层,C在MVC中的角色是分配处理用户请求的业务。
dao持久层,在该层中编写DB *** 作。
服务层属于springmvc的服务业务层。
域存储实体。如果使用ibatis框架,则在它下面创建通用映射。当然,只使用架构映射是没有意义的。
这个项目工具类的Util特性包。
通用通用工具包,通常一个公司会有一个固定的jar,几个项目通用,比如远程调用。
扩展资料:
这个项目工具类的Util特性包。
Action类是接受表单数据并处理逻辑的类。
DAO(DataAccessObject)是一个接口实现[通过SessionFactory获取会话来 *** 作数据库,并实现一些基本的数据删除、添加、修改。
简单地说,dao层基本上是一些固定的添加、删除、更改和检查方法。例如,当您使用hibernate时,当数据库发生更改时,您需要重新生成相应的dao,以便在服务中重写发送给您的代码,而dao更改不会影响您的程序。
这是一个典型的MVC的模式
action 主要是struts2,用来进行跳转的,比如jsp页面提交表单就是进入到action action在调用service的里面的逻辑,最后返回到客户端jsp页面响应请求。
dao 就是用来存放对数据库的 *** 作的方法 没有逻辑 就是增删改查
model 就是java bean 或者pojo用来存放实体对象
service 是用来进行业务逻辑的,比如从action进到service 进行了哪些 *** 作都在这里
util 是工具包 用来存放一些工具类 比如日期转换等
jre jdk 的配置文件
referenced Library和webappLibrary 存放jar文件
webroot 存放一下jsp或者jscss等前端显示文件还有其他的配置文件webxml等
DAO(Data Access Object) 数据访问对象是第一个面向对象的数据库接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 像直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用。
DAO就是对数据库里面的数据的增删改查的 *** 作,而工厂模式是对数据库连接的封装,不同数据库不同的连接(如代码2);
DAO的功能:
1、 DAO用来封装Data Source的;就比如,Connection conn = DAOFacotrycreateConnection();
就可以把Driver URL username, passpword这一些放在DAO中
以后要更改数据库的类型比如要把MSSQL换成Oracle的话;只需要更改DAOFacory里面的getConnection()里面的DriverURL之类的;
2、DAO也是把对数据库的 *** 作(比如最基本的CRUD *** 作)全部封装在里面;
比如要要插入一个新的用户;那么在DAO中只需要提供一个insertUser(User user)这一个方法就可以了;具体的 *** 作是在DAO中实现的;
那么对于要调用DAO的时候,只要知道insertUser(User)是用来插入一个新的用户;而不需要知道是如何实现的。
dao包,database access object属于持久层db包,应该是database的缩写,估计是用来连数据库的factory包,就是字面意思,工厂包filter包,过滤器servlet包,这个就不用解释了吧vo包,value object的缩写,用于业务层之间数据传递的对象
给你一个创建数据库的例子;
窗体上加3个按钮分别执行,创建数据库与表,添加记录,修改记录。
'首先通过菜单工程--引用,勾选 Microsoft DAO 36 Object Library
'其中版本号36,看你计算机具体情况而选择,当然版本越高越新。
Option Explicit
Private Sub Command1_Click()
Dim MyWs As Workspace '工作区
Dim MyDB As Database '数据库对象
Dim myTBL As TableDef '数据表对象
Dim MyFid(9) As Field '字段对象
Dim i As Integer
If Dir(AppPath & "\实验数据库mdb") <> "" Then Kill AppPath & "\实验数据库mdb"
'创建工作区
Set MyWs = DBEngineWorkspaces(0)
'创建数据库文件
'Set MyDB = MyWsWorkspaces(0)CreateDatabase(AppPath & "\F实验数据库mdb")
Set MyDB = MyWsCreateDatabase(AppPath & "\实验数据库mdb", dbLangGeneral, dbEncrypt)
'创建表
Set myTBL = MyDBCreateTableDef("学生数据表")
'创建字段
Set MyFid(1) = myTBLCreateField("学号", dbText, 4)
Set MyFid(2) = myTBLCreateField("姓名", dbText, 10)
Set MyFid(3) = myTBLCreateField("性别", dbText, 2)
Set MyFid(4) = myTBLCreateField("备注", dbText, 4)
Set MyFid(5) = myTBLCreateField("籍贯", dbText, 10)
Set MyFid(6) = myTBLCreateField("出生年月", dbDate, 8)
Set MyFid(7) = myTBLCreateField("家庭住址", dbText, 40)
Set MyFid(8) = myTBLCreateField("联系电话", dbText, 50)
Set MyFid(9) = myTBLCreateField("户籍地址", dbText, 40)
'将字段加入到Field集合
For i = 1 To 9
myTBLFieldsAppend MyFid(i)
Next i
'将表加入到数据库中
MyDBTableDefsAppend myTBL
End Sub
Private Sub Command2_Click()
Dim MyWs As Workspace '工作区
Dim MyDB As Database '数据库对象
Dim Rs As Recordset '记录集对象
'创建工作区
Set MyWs = DBEngineWorkspaces(0)
'创建数据库文件
'Set MyDB = MyWsWorkspaces(0)CreateDatabase(AppPath & "\F实验数据库mdb")
Set MyDB = MyWsOpenDatabase(AppPath & "\实验数据库mdb")
'返回记录集
Set Rs = MyDBOpenRecordset("Select From 学生数据表")
RsAddNew
RsFields("学号") = "101"
RsFields("姓名") = "张老三"
RsFields("性别") = "男"
RsFields("备注") = "在籍"
RsFields("籍贯") = "江苏"
RsFields("出生年月") = #11/16/1992#
RsFields("家庭住址") = "长江路1000号2001室"
RsFields("联系电话") = "12345678"
RsFields("户籍地址") = "长江路1000号2001室"
RsUpdate
End Sub
Private Sub Command3_Click()
Dim MyWs As Workspace '工作区
Dim MyDB As Database '数据库对象
Dim Rs As Recordset '记录集对象
'创建工作区
Set MyWs = DBEngineWorkspaces(0)
'创建数据库文件
'Set MyDB = MyWsWorkspaces(0)CreateDatabase(AppPath & "\F实验数据库mdb")
Set MyDB = MyWsOpenDatabase(AppPath & "\实验数据库mdb")
'返回记录集
Set Rs = MyDBOpenRecordset("Select From 学生数据表")
'定位到要修改的记录
RsFindFirst "学号='101'"
If RsNoMatch Then
'没有找到要找的记录
MsgBox ("不存在要找的记录:")
Else
'找到要找的记录,进行修改某一个或几个字段
RsEdit
RsFields("籍贯") = "浙江"
RsFields("出生年月") = #1/28/1991#
RsUpdate
MsgBox ("修改成功!")
End If
End Sub
以上就是关于Spring 中的Dao的用处全部的内容,包括:Spring 中的Dao的用处、Java项目,bean类,dao包,service包,action包,现在想用action调用数据库中数据,数据在bean里有get set、Action、Dao、DaoImpl、Service、ServiceImpl各自的作用是什么 他们之间有什么关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)