成都创新互联网站制作重庆分公司

Java之dao模式详解及代码示例-创新互联

什么是dao模式?

创新互联建站 - 中国电信成都枢纽中心,四川服务器租用,成都服务器租用,四川网通托管,绵阳服务器托管,德阳服务器托管,遂宁服务器托管,绵阳服务器托管,四川云主机,成都云主机,西南云主机,中国电信成都枢纽中心,西南服务器托管,四川/成都大带宽,成都机柜租用,四川老牌IDC服务商

DAO(Data Access Object)顾名思义是一个为数据库或其他持久化机制提供了抽象接口的对象,在不暴露底层持久化方案实现细节的前提下提供了各种数据访问操作。在实际的开发中,应该将所有对数据源的访问操作进行抽象化后封装在一个公共API中。用程序设计语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口,在逻辑上该类对应一个特定的数据存储。DAO模式实际上包含了两个模式,一是Data Accessor(数据访问器),二是Data Object(数据对象),前者要解决如何访问数据的问题,而后者要解决的是如何用对象封装数据。

一、信息系统的开发架构


客户层-------显示层-------业务层---------数据层---------数据库


1.客户层:客户层就是客户端,简单的来说就是浏览器。
2.显示层:JSP/Servlet,用于给浏览器显示。
3.业务层:对于数据层的原子操作进行整合。
4.数据层:对于数据库进行的原子操作,增加、删除等;


二、DAO(Data Access Object)介绍


DAO应用在数据层那块(对于数据库进行的原子操作,增加、删除等;),用于访问数据库,对数据库进行操作的类。


三、DAO设计模式的结构


DAO设计模式一般分为几个类:


1.VO(Value Object):一个用于存放网页的一行数据即一条记录的类,比如网页要显示一个用户的信息,则这个类就是用户的类。
2.DatabaseConnection:用于打开和关闭数据库。
3.DAO接口:用于声明对于数据库的操作。
4.DAOImpl:必须实现DAO接口,真实实现DAO接口的函数,但是不包括数据库的打开和关闭。
5.DAOProxy:也是实现DAO接口,但是只需要借助DAOImpl即可,但是包括数据库的打开和关闭。
6.DAOFactory:工厂类,含有getInstance()创建一个Proxy类。


四、DAO的好处


DAO的好处就是提供给用户的接口只有DAO的接口,所以如果用户想添加数据,只需要调用create函数即可,不需要数据库的操作。


五、DAO包命名


对于DAO,包的命名和类的命名一定要有层次。


1.Emp.Java

package org.vo; 
import java.util.*; 
public class Emp{ 
  private int empno; 
  private String ename; 
  private String job; 
  private Date hireDate; 
  private float sal; 
  public Emp(){ 
  } 
  public int getEmpno(){ 
    return empno; 
  } 
  public void setEmpno(int empno){ 
    this.empno = empno; 
  } 
  public String getEname(){ 
    return ename; 
  } 
  public void setEname(String ename){ 
    this.ename = ename; 
  } 
  public Date getHireDate(){ 
    return hireDate; 
  } 
  public void setHireDate(Date hireDate){ 
    this.hireDate = hireDate; 
  } 
  public float getSal(){ 
    return sal; 
  } 
  public void setSal(float sal){ 
    this.sal = sal; 
  } 
  public String getJob(){ 
    return job; 
  } 
  public void setJob(String job){ 
    this.job = job; 
  } 
} 

文章标题:Java之dao模式详解及代码示例-创新互联
文章出自:http://cxhlcq.com/article/geeis.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部