DAO设计模式 博客分类: DAO设计模式 DAO 模式 简介
程序员文章站
2024-03-22 15:53:04
...
DAO设计模式
本章将详细介绍什么是DAO,以及使用DAO设计模式的优点。还将介绍如何设计数据库连接类、VO类、DAO接口、DAO实现类以及DAO工厂类。
通过本章的学习,读者应该能够完成如下几个目标。
了解什么是DAO设计模式以及其优点
熟练掌握如何定义数据库连接类
熟练掌握如何定义VO类
熟练掌握如何定义DAO接口、DAO类以及DAO工厂类
熟练掌握如何使用DAO实现数据库操作
1 DAO简介
DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码和增加程序移植性。
回忆之前使用JDBC操作数据库,都是直接在JSP页面中写JDBC代码。这样导致JSP页面中包含大量的HTML代码和JSP代码,显示和功能代码混在一起,难以维护。因为要在JSP中使用JDBC代码,所有还必须导入“java.sql.*”包。这样的设计是非常不合理的,JSP只需要关注数据的显示,而不需要去关注数据是从哪里来的,获得怎么得来的。
使用DAO设计模式可以很好的解决如上的问题。DAO包含几个重要部分,分别如下。
(1)DAO接口
(2)DAO实现类
(3)DAO工厂类
(4)VO类
(5)数据库连接类
2 DAO各部分详解
DAO包括五个重要的部分,分别是数据库连接类、VO类、DAO接口、DAO实现类以及DAO工厂类,下面将对各部分进行详细的介绍。
2.1 数据库连接类
数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。通过数据库连接类可以大大的简便开发,在需要进行数据库连接时,只需创建该类的实例,并调用其中的方法就可以获得数据库连接对象和关闭数据库,不必再进行重复操作。
2.2 VO类
VO类是一个包含属性和表中字段完全对应的类。并在该类中提供setter和getter方法来设置并获得该类中的属性。
2.3 DAO接口
DAO接口中定义了所有的用户的操作,如添加记录、删除记录以及查询记录等。不过因为是接口,所以仅仅是定义,需要子类来实现。
2.4 DAO实现类
DAO实现类实现了DAO接口,并实现了DAO接口中定义的所有方法。在DAO实现中通过连接数据库进行数据库操作。
2.5 DAO工厂类
在没有DAO工厂类的情况下,必须通过创建DAO实现类的实例才能完成数据库操作。这时就必须知道具体的子类,对于后期的修改非常不便。如后期需要创建一个操作Oracal的DAO实现类,这时就必须修改所有的使用DAO实现类的代码。
使用DAO工厂类可以很好的解决后期修改的问题,可以通过该DAO工厂类的一个静态方法来获得DAO实现类实例。这时如果需要替换DAO实现类,只需修改该DAO工厂类中的方法代码,而不必修改所有的操作数据库代码。
3 使用DAO完成数据库操作
实现数据库的CURD
添加记录
更新记录
删除记录
按ID查询记录
本章将详细介绍什么是DAO,以及使用DAO设计模式的优点。还将介绍如何设计数据库连接类、VO类、DAO接口、DAO实现类以及DAO工厂类。
通过本章的学习,读者应该能够完成如下几个目标。
了解什么是DAO设计模式以及其优点
熟练掌握如何定义数据库连接类
熟练掌握如何定义VO类
熟练掌握如何定义DAO接口、DAO类以及DAO工厂类
熟练掌握如何使用DAO实现数据库操作
1 DAO简介
DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码和增加程序移植性。
回忆之前使用JDBC操作数据库,都是直接在JSP页面中写JDBC代码。这样导致JSP页面中包含大量的HTML代码和JSP代码,显示和功能代码混在一起,难以维护。因为要在JSP中使用JDBC代码,所有还必须导入“java.sql.*”包。这样的设计是非常不合理的,JSP只需要关注数据的显示,而不需要去关注数据是从哪里来的,获得怎么得来的。
使用DAO设计模式可以很好的解决如上的问题。DAO包含几个重要部分,分别如下。
(1)DAO接口
(2)DAO实现类
(3)DAO工厂类
(4)VO类
(5)数据库连接类
2 DAO各部分详解
DAO包括五个重要的部分,分别是数据库连接类、VO类、DAO接口、DAO实现类以及DAO工厂类,下面将对各部分进行详细的介绍。
2.1 数据库连接类
数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。通过数据库连接类可以大大的简便开发,在需要进行数据库连接时,只需创建该类的实例,并调用其中的方法就可以获得数据库连接对象和关闭数据库,不必再进行重复操作。
2.2 VO类
VO类是一个包含属性和表中字段完全对应的类。并在该类中提供setter和getter方法来设置并获得该类中的属性。
2.3 DAO接口
DAO接口中定义了所有的用户的操作,如添加记录、删除记录以及查询记录等。不过因为是接口,所以仅仅是定义,需要子类来实现。
2.4 DAO实现类
DAO实现类实现了DAO接口,并实现了DAO接口中定义的所有方法。在DAO实现中通过连接数据库进行数据库操作。
2.5 DAO工厂类
在没有DAO工厂类的情况下,必须通过创建DAO实现类的实例才能完成数据库操作。这时就必须知道具体的子类,对于后期的修改非常不便。如后期需要创建一个操作Oracal的DAO实现类,这时就必须修改所有的使用DAO实现类的代码。
使用DAO工厂类可以很好的解决后期修改的问题,可以通过该DAO工厂类的一个静态方法来获得DAO实现类实例。这时如果需要替换DAO实现类,只需修改该DAO工厂类中的方法代码,而不必修改所有的操作数据库代码。
3 使用DAO完成数据库操作
实现数据库的CURD
添加记录
更新记录
删除记录
按ID查询记录
推荐阅读
-
DAO设计模式 博客分类: DAO设计模式 DAO 模式 简介
-
MVC 设计模式简介 博客分类: MVC MVC 简介
-
MVC 设计模式简介 博客分类: MVC MVC 简介
-
GIS几个重要的研究方向 博客分类: 个人随笔 数据结构设计模式嵌入式算法
-
[收]面向资源与面向活动的 Web 服务 博客分类: ruby 活动WebRESTSOAP设计模式
-
基于oracle pl/sql的简单规则引擎的设计草稿 博客分类: oracle && pl/sql SQLOracle设计模式正则表达式
-
软件设计应遵循的原则 博客分类: oo 设计模式软件测试OO数据结构编程
-
序列化与单例 博客分类: 设计模式 设计模式单例模式序列化
-
java设计模式-门面模式Facade 博客分类: java基础
-
【策略模式】的故事来源(StrategyPattern) 博客分类: 23种设计模式 23种设计模式 策略模式 (StrategyPattern)