DAO设计模式
2015-05-03 10:24
309 查看
DAO设计模式:
1、DAO简介:
DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性。
2、DAO各部分详解:
DAO设计模式包括以下5个主要部分:
(1)、数据库连接类;
数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。通过数据库连接类可以大大的简化开发,在需要进行数据库连接时,只需常见该类的实例,并调用其中的方法就可以获得数据库连接对象和关闭数据库,不必再进行重复操作。例:
[java] view plaincopy
Package com.javaweb.dao1
Import java.sql.*;
Public class DataBaseConnection{
Private final String DBDRIVER = “com.mysql.jdbc.Driver”;
Private final String DBURL = “jdbc:mysql://localhost:3306/javaweb”;
Private final String DBUSER = “root””;
Private final String DBPASSWORD = “585762”;
Private Connection conn = null;
Public DataBaseConnection(){
Try{
Class.forName(DBDRIVER);
This.conn =
DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
}catch(Exception e){
System.out.println(“加载数据库驱动失败!”);
}
}
Public Connection getConnection(){
Return conn;
}
Public void close(){
Try{
Conn.close();
}catch(){
System.out.println(“数据库连接关闭失败!”);
}
}
}
(2)、VO类:
VO类是一个包含属性和表中字段完全对应的类,并在该类中提供setter和getter方法来设置并获取该类中的属性。例:
[java] view plaincopy
Package com.javaweb.dao1
Public classs User{
Private int userid;
Private String username;
Private String password;
Public int getUserid(){
Return userid;
}
Public void setUserid(int userid){
Return userid;
}
Public String getUsername(){
Return username;
}
Public void setUsername(String username){
Return username;
}
Public String getUserpassword(){
Return userpassword;
}
Public void setUserid(String userpassword){
Return userpassword;
}
}
(3)、DAO接口:
DAO接口中定义了所有的用户操作,如添加记录、删除记录及查询记录等。不过因为是借口,所以仅仅是定义,需要子类实现。例:
[java] view plaincopy
Package com.javaweb.dao1;
Import java.util.*;
Public class UserDAO{
public void insert(User user)throw Exception;
Public void update(User user)throw Exception;
Public void delete(int userid)throw Exception;
Public User queryById(int userid)throw Exception;
Public List queryAll()throw Exception;
}
(4)、DAO实现类:
DAO实现类实现了DAO接口,并实现了接口中定义的所有方法。
(5)、DAO工厂类:
在没有DAO工厂类的情况下,必须通过创建DAO实现类的实例才能完成数据库操作。这时就必须知道具体的子类,对于后期的修改非常不方便。
使用DAO工厂类,可以比较方便地对代码进行管理,而且可以很好地解决后期修改的问题,通过该DAO工厂类的一个静态方法来获取DAO实现类实例。这时如果要替换DAO实现类,只需要修改该Dao工厂类中的方法代码,而不必邀修改所有的操作数据库代码。例:
[java] view plaincopy
Package com.javaweb.dao1;
Public class DAOFactory{
Public static UserDAO getUserDAOInstance(){
Return new UserDAOImpl();
}
}
3、使用DAO完成数据库操作:
(1)、添加记录:
(2)、更新记录:
(3)、删除记录:
(4)、查询记录:
1、DAO简介:
DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性。
2、DAO各部分详解:
DAO设计模式包括以下5个主要部分:
(1)、数据库连接类;
数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。通过数据库连接类可以大大的简化开发,在需要进行数据库连接时,只需常见该类的实例,并调用其中的方法就可以获得数据库连接对象和关闭数据库,不必再进行重复操作。例:
[java] view plaincopy
Package com.javaweb.dao1
Import java.sql.*;
Public class DataBaseConnection{
Private final String DBDRIVER = “com.mysql.jdbc.Driver”;
Private final String DBURL = “jdbc:mysql://localhost:3306/javaweb”;
Private final String DBUSER = “root””;
Private final String DBPASSWORD = “585762”;
Private Connection conn = null;
Public DataBaseConnection(){
Try{
Class.forName(DBDRIVER);
This.conn =
DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
}catch(Exception e){
System.out.println(“加载数据库驱动失败!”);
}
}
Public Connection getConnection(){
Return conn;
}
Public void close(){
Try{
Conn.close();
}catch(){
System.out.println(“数据库连接关闭失败!”);
}
}
}
(2)、VO类:
VO类是一个包含属性和表中字段完全对应的类,并在该类中提供setter和getter方法来设置并获取该类中的属性。例:
[java] view plaincopy
Package com.javaweb.dao1
Public classs User{
Private int userid;
Private String username;
Private String password;
Public int getUserid(){
Return userid;
}
Public void setUserid(int userid){
Return userid;
}
Public String getUsername(){
Return username;
}
Public void setUsername(String username){
Return username;
}
Public String getUserpassword(){
Return userpassword;
}
Public void setUserid(String userpassword){
Return userpassword;
}
}
(3)、DAO接口:
DAO接口中定义了所有的用户操作,如添加记录、删除记录及查询记录等。不过因为是借口,所以仅仅是定义,需要子类实现。例:
[java] view plaincopy
Package com.javaweb.dao1;
Import java.util.*;
Public class UserDAO{
public void insert(User user)throw Exception;
Public void update(User user)throw Exception;
Public void delete(int userid)throw Exception;
Public User queryById(int userid)throw Exception;
Public List queryAll()throw Exception;
}
(4)、DAO实现类:
DAO实现类实现了DAO接口,并实现了接口中定义的所有方法。
(5)、DAO工厂类:
在没有DAO工厂类的情况下,必须通过创建DAO实现类的实例才能完成数据库操作。这时就必须知道具体的子类,对于后期的修改非常不方便。
使用DAO工厂类,可以比较方便地对代码进行管理,而且可以很好地解决后期修改的问题,通过该DAO工厂类的一个静态方法来获取DAO实现类实例。这时如果要替换DAO实现类,只需要修改该Dao工厂类中的方法代码,而不必邀修改所有的操作数据库代码。例:
[java] view plaincopy
Package com.javaweb.dao1;
Public class DAOFactory{
Public static UserDAO getUserDAOInstance(){
Return new UserDAOImpl();
}
}
3、使用DAO完成数据库操作:
(1)、添加记录:
(2)、更新记录:
(3)、删除记录:
(4)、查询记录:
相关文章推荐
- DAO设计模式---实现一个简单的注册(下)
- MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
- 基于泛型DAO的Facade设计模式
- 【转载】JavaBean中DAO设计模式介绍
- java设计模式进阶_dao
- J2EE设计模式-Dao(Data Access Object)模式
- [介绍]PHP设计模式:DAO(数据访问对象模式)
- JavaWeb 中 DAO(Data Access Objects) 设计模式
- DAO设计模式
- 设计模式--DAO
- DAO设计模式
- 泛型dao 详细剖析 泛型DAO类设计模式(2)
- DAO设计模式
- Java中的DAO设计模式应用举例 ------> 来自Java WEB 开发实战经典
- DAO设计模式
- Java开发———DAO设计模式及优化
- java之 ------ DAO设计模式的【具体解释】及常见设计模式的【应用】
- Java web学习笔记之DAO设计模式
- 23中设计模式-散篇1-DAO设计模式