javaBean高级内容:DAO设计模式

既然已经学习了javabean了,就应该了解dao模式了。也就步入了mvc高级开发的轨道了。关于dao我们一起来看一下它是个什么东西。看一下面向企业开发的模式的意义。

dao设计模式简介

dao全称是data access object,数据库访问对象,主要的功能就是用于进行数据操作的,在程序的标准开发架构中属于数据层的操作

企业分层架构

客户层:因为现在都采用了B/S开发架构,所以一般都使用浏览器进行访问。

显示层:使用JSP/Servlet进行页面效果的显示

业务层:(Business Object,业务对象):会将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑。

数据层(DAO):提供多个原子性的DAO操作,例如:增加、修改、删除等,都属于原子性的操作。

资源层主要是数据库的操作层,里面可以进行各种的数据存储,但是这些数据存储操作的时候肯定依靠SQL语句,之前也发现了,如果在一个程序中出现了过多的SQL语句直接操作,则jsp页面变得相当复杂,而且也不便于程序的可重用性。

可以通过一个专门的数据库的操作组件完成,那么这个就是数据层的功能

业务层是整个项目的核心。现在我们要学的是DAO数据层。

DAO组成

在整个DAO中实际上都是以接口为操作标准的,即:客户端依靠DAO实现的接口进行操作,而服务端要将接口进行具体的实现。DAO由以下几个部分组成。

1.  DatabaseConnection:专门负责数据库的打开与关闭操作的类

2.VO:主要由属性、setter、getter方法组成,VO类中的属性与表中的字段相对应,每一个VO类的对象都表示表中的每一条记录;

3.DAO:主要定义操作的接口,定义一系列数据库的原子性操作,例如:增加、修改、删除、按ID查询等;

4.Impl : DAO接口的真实实现类,完成具体的数据库操作,但是不负责数据库的打开和关闭;

5  Proxy :代理实现类,主要完成数据库的打开和关闭,并且调用真实实现类对象的操作

6  Factory :工厂类,通过工厂类取得一个DAO的实例化对象

时间: 2024-11-08 17:22:44

javaBean高级内容:DAO设计模式的相关文章

DAO设计模式

本文完全根据我对DAO设计模式的理解程度完成,在未来不断地学习中,我也会不断更新这篇文章,如果你对文章内容有建议欢迎评论! DAO(Data Access Object,数据访问接口)设计模式是J2EE(Java2平台企业版)的核心模式 这种设计模式很好的将底层数据访问与业务逻辑实现高度分离,这样便于开发人员专注于开发所需的功能实现代码,而不需要过多地考虑上下层交互的问题,很好地降低了出bug的几率,提高了开发效率 一个典型的DAO实现有下列几个组件: 一个DAO工厂类 一个DAO接口 一个实现

MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

[正文] 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据库资源中间. DAO模式实际上是两个模式的组合,即Data Accessor (数据访问者)模式和 Active Domain Object(领域对象)模式.Data Accessor 模式实现了数据访问和业务逻辑的分离:Active Domain Object 模式实现了业务数据的对象化封装. 需要注意的是,DAO设计模式是Java EE中的设计模式

DAO设计模式---实现一个简单的注册(上)

DAO设计模式是属于Java Web中对数据层的具体操作,使用DAO设计模式可以简化大量代码的编写和增加程序的可移植性,可以很方便在日后对代码的修改. 如果在JSP中使用JDBC操作数据库,那样在JSP中就会嵌入大量的Java代码,显示和逻辑功能的代码混在一起,可读性差,难以维护. 使用DAO设计模式,JSP用来只显示数据,无需关注数据如何获取,从何而来. DAO设计模式主要有这几个部分: 1.DAO接口:定义所有用户需要的操作抽象方法,如查找.删除.修改.添加等.不过这些抽象方法需要具体的实现

JAVA入门:DAO设计模式

什么是DAO DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据库资源中间. DAO的功能: 1. DAO用来封装Data Source的--就比如,Connection conn = DAOFacotry.createConnection()-- 就可以把Driver. URL. username, passpword这一些放在DAO中以后要更改数据库的类型.比如要把MSSQL换成Oracle的话--只需要更改DAOFacory里

DAO设计模式---实现一个简单的注册(中)

4.DAO接口实现类: package com.song.Impl; import java.sql.*; import com.song.DAO.RegisterDAO; import com.song.VO.RegisterBean; import com.song.DB.*; public class RegisterImpl implements RegisterDAO{ public void insert(RegisterBean registerBean)throws Except

DAO设计模式---实现一个简单的注册(下)

6.DAO工厂类: package com.song.DAOFactory; import com.song.DAO.RegisterDAO; import com.song.Impl.RegisterImpl; public class RegisterFactory{ public static RegisterDAO getRegisterDAOInstance(){ return new RegisterImpl(); } } 7.一个servlet实现控制: package com.s

SQL Server高级内容之case语法函数概述及使用_MsSql

1.Case函数的用法 (1)使用类似:switch-case与if-else if. (2)语法: case [字段] when 表达式 then 显示数据 when 表达式 then 显示数据 else 显示数据 end (3)百分制转换素质教育 1)如图:我们要将显示的数据转换成ABCDE,规则是90分以上显示A,80分以上显示B,以此类推.  2)执行的SQL语句是: 复制代码 代码如下: Select ID,TestBase, Case When testBase>=90 then '

SQL Server高级内容之子查询和表链接概述及使用_MsSql

1.子查询概念 (1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询. (2)自查询的分类 1)独立子查询 ->独立单值(标量)子查询(=) 复制代码 代码如下: Select testID,stuID,testBase,testBeyond,testPro from Score where stuID=( select stuID from Student where stuName='Kencery' ) ->

SQL Server高级内容之子查询和表链接概述及使用

1.子查询概念 (1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询. (2)自查询的分类 1)独立子查询 ->独立单值(标量)子查询(=) 复制代码 代码如下: Select testID,stuID,testBase,testBeyond,testPro from Score where stuID=( select stuID from Student where stuName='Kencery' ) ->