DAO设计模式基础

来源:互联网 发布:织梦cms添加变量删除 编辑:程序博客网 时间:2024/05/17 06:07

 

传统两级模式的问题:


1、所有的JDBC代码写在JSP页面之中,维护困难。

2、JSP中不应该使用任何sql包,即:不能在JSP中直接使用java.sql.*,原因:JSP只关注于数据的显示,

     而不关心数据从哪里来,或向哪里存储。

3、所有的数据库操作代码最好使用PreparedStatement

 

 

 

J2EE的组件层次:

客户端 —>表示层(*.jsp/servlet)—>业务层—>数据层—>数据库   

就是在客户端发送一个请求到servlet,servlet调用相应的javabean,javabean从数据层对数据库进行操作。

 

 

DAO属于J2EE数据层的操作:

即:在DAO中封装了一个表在一个项目中所应该具有的全部操作。

 

 


 

设计思想:

首先需要规定整个模块之中对person表的全部操作:

*增加  *修改  *删除  *按ID查询 *查询全部  *模糊查询

按以上要求,规定出操作此张表的标准,之后只要针对不同的数据库实现这些标准即可。

在JAVA中只要通过接口可以定义接口 —>DAO定义的就是一个接口。

 

 

 

案例:

   说明:比如说一个图书馆,图书馆可以增加书籍。如果要在增加之前,应该把一本书给图书馆才可以。

   插入—>针对对象插入

   对象—>VO、TO、POJO(值对象、传输对象、最根本的JAVA对象)即:最包含属性和setter和getter方法的类

一、封装数据库连接
 
二、定义对象的属性和数据库中的表中的字段完全对应
 
三、定义DAO接口 
 
四、定义好接口之后,要定义出接口的具体实现类,具体实现DAO接口中对数据库表中的一切操作。
定义一个数据库连接类,由数据库连接类统一管理数据库连接。
 
五、前台JSP可以直接通过VO对象间接访问数据库
 
六、使用工厂类Factory,使前台(JSP页面)不用关心后台具体的子类
 
前台JSP代码:PersonDao dao = new PersonImpl()
就可以改为   PersonDao dao = DAOFactory.getDAOInstance();

 

原创粉丝点击