博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DAO模式
阅读量:7069 次
发布时间:2019-06-28

本文共 2617 字,大约阅读时间需要 8 分钟。

DAO设计模式:

1、DAO简介:

      DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性。

 

2、DAO各部分详解:

DAO设计模式包括以下5个主要部分:

(1)、数据库连接类;

      数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。通过数据库连接类可以大大的简化开发,在需要进行数据库连接时,只需常见该类的实例,并调用其中的方法就可以获得数据库连接对象和关闭数据库,不必再进行重复操作。例:

Package com.javaweb.dao1Import 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方法来设置并获取该类中的属性。例:

Package com.javaweb.dao1Public 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接口中定义了所有的用户操作,如添加记录、删除记录及查询记录等。不过因为是借口,所以仅仅是定义,需要子类实现。例:

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工厂类中的方法代码,而不必邀修改所有的操作数据库代码。例:

Package com.javaweb.dao1;Public class DAOFactory{      Public static UserDAO getUserDAOInstance(){             Return new UserDAOImpl();      }} 

3、使用DAO完成数据库操作:

(1)、添加记录:

(2)、更新记录:

(3)、删除记录:

(4)、查询记录:

 

 
 

转载地址:http://guhll.baihongyu.com/

你可能感兴趣的文章
markdown语法记录
查看>>
机器学习 — 提供推荐
查看>>
struts2单文件上传案例演示(一)
查看>>
7月读书计划
查看>>
Android源码学习之接着浅析SystemServer
查看>>
CentOS系统如何设置服务开机自动运行
查看>>
mybatis-generator 代码自动生成工具
查看>>
本地包含和远程包含
查看>>
android 双击返回按钮退出程序。
查看>>
git报错--RPC failed; curl 18 transfer closed with outstanding read data remaining
查看>>
oracle 分区表和分区索引
查看>>
springCloud的使用04-----熔断器hystrix的使用
查看>>
asp.net中异步调用webservice
查看>>
Oracle数据库——SQL高级查询
查看>>
BigDecimal 使用浅析
查看>>
分享按钮网站
查看>>
初识三层架构
查看>>
类型转换
查看>>
经典面试题:如何保证缓存与数据库的双写一致性?
查看>>
你真的了解Netty中@Sharable?
查看>>