数据访问对象-DAO

原创 2004年10月10日 12:49:00

文档 > 段洪杰 > 八、设计模式:DAO

 
rw-rw-r--   robbin   wheel

八、设计模式:DAO

使用数据访问对象(DAO)使我们可以将底层数据访问逻辑与业务逻辑分离开。我们构建了为每一个数据源提供 GRUD (创建、读取、更新、删除)操作的 DAO 类。

下面是一个数据源GRUD(创建)操作的DAO实例.

1.接口(DemoDAO.java)

package com.company.demo.dao; 

import net.sf.hibernate.HibernateException;
import com.company.demo.jdo.Demo;
import com.company.demo.datamodule.*;
/**
* <p>Title: Struts+Hibernate开发模板</p>
* <p>Description: 通用开发模板</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: 优势科技</p>
* @author 段洪杰
* @version 1.0
*/

public interface DemoDAO {

/**设置数据模型**/
public void setDataModule(DataModule dataModule);
/** 建立对象 **/
public void createDemo(Demo demo) throws HibernateException,Exception;

}

2.抽象工厂(DemoDAOFactory.java)

package com.company.demo.dao; 
/**
* <p>Title: Struts+Hibernate开发模板</p>
* <p>Description: 通用开发模板</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: 优势科技</p>
* @author 段洪杰
* @version 1.0
*/

public class DemoDAOFactory {

private DemoDAOFactory()
{ }
public final static DemoDAO getDemoDAO(){
return new DemoDAOImpl();
}
}

3.DAO类(DemoDAOImpl.java)

package com.company.demo.dao; 
import java.util.List;
import com.company.demo.datamodule.*;
import com.company.demo.jdo.Demo;

import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
import net.sf.hibernate.Query;


/**
* <p>Title: Struts+Hibernate开发模板</p>
* <p>Description: 通用开发模板</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: 优势科技</p>
* @author 段洪杰
* @version 1.0
*/

public class DemoDAOImpl implements DemoDAO {

private SessionFactory sessionFactory;
private DataModule dataModule;

/**
* 设数据模型
* @param dataModule
*/
public void setDataModule(DataModule dataModule){
this.dataModule=dataModule;
this.sessionFactory=dataModule.getSessionFactory();
}

/**
* 建立DEMO
* @param demo
* @throws HibernateException
* @throws java.lang.Exception
*/
public void createDemo(Demo demo) throws HibernateException,Exception {
Transaction transaction = null;
Session session=sessionFactory.openSession();
try{
transaction = session.beginTransaction();
session.save(demo);
transaction.commit();
}catch(HibernateException he){
if ( transaction!=null ){
transaction.rollback();
}
throw he;
}finally{
session.close();
}

}
}

DAO(Data Access Object) 数据访问对象

DAO  编辑 DAO(Data Access Object) 数据访问对象是第一个面向对象的数据库接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Ac...
  • Rodulf
  • Rodulf
  • 2016年02月22日 19:23
  • 2604

数据访问对象(DAO)设计模式 in Java

数据访问对象(DAO) 设计模式是一个非常受欢迎的实现 Java 应用中持久层的设计模式,它是基于抽象和封装设计原则并且避免应用受到来自持久层的改变所带来的影响。比如说,将数据从 Oracle 换到...
  • u011284860
  • u011284860
  • 2016年02月29日 23:47
  • 1909

SPRING数据访问对象(DAO)框架入门

摘要  J2EE应用程序中的业务组件通常使用JDBC API访问和更改关系数据库中的持久数据。这经常导致持久性代码与业务逻辑发生混合,这是一种不好的习惯。数据访问对象(DAO)设计模式通过把持久性逻辑...
  • hdy007
  • hdy007
  • 2007年03月19日 17:21
  • 1326

J2EE设计模式-Dao(Data Access Object)模式

高级 DAO 编程 学习编译更好的 DAO 的技巧 J2EE 开发人员使用数据访问对象(Data Access Object DAO)设计模式,以便将低级别的数据访问逻辑与...
  • ccp1994
  • ccp1994
  • 2014年09月10日 17:05
  • 1013

数据访问对象 (DAO)

数据访问对象 (DAO) 建立数据库连接执行 SQL 语句获取查询结果使用事务绑定参数绑定列使用表前缀 数据访问对象(DAO) 对访问存储在不同数据库管理系统(DBMS)中的数据提...
  • cd_0227
  • cd_0227
  • 2016年01月18日 13:45
  • 103

DAO(数据访问对象) 设计模式

代码: 1.DButil.java(连接关闭数据库) import java.sql.DriverManager; import java.sql.SQLException; import java....
  • linhaiyun_ytdx
  • linhaiyun_ytdx
  • 2016年10月13日 22:23
  • 174

黑马程序员:数据访问层,DAO模式

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- DAO模式好处,组成 1.软件开...
  • u011004873
  • u011004873
  • 2013年10月13日 17:09
  • 1135

数据访问接口 DAO 关键回顾

简单的一个数据库访问接口 DAO 为了方便以后自己翻阅和总结 于是记下,希望朋友们 不吝赐教 ,如有错误还望不吝指出其中错误,谢谢!...
  • javaxiaochouyu
  • javaxiaochouyu
  • 2011年04月24日 10:20
  • 1629

对Spring 数据访问的理解

数据访问模板类和DAO支持类 Spring将数据访问过程中固定的和可变的部分明确的划分为两个不同的类:模板(template)和回调(callback)。模板管理过程中固定的部分,而回调处理自定义的...
  • wjtyy
  • wjtyy
  • 2016年05月18日 11:13
  • 469

ADO.NET的数据访问对象

ADO.NET的数据访问对象是以下几个:   1、Connection对象:与数据源建立连接,连接sql server7.0 或更新版本数据库用SqlConnection,连接OLEDB数据源使用O...
  • u012552389
  • u012552389
  • 2014年06月13日 19:40
  • 331
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据访问对象-DAO
举报原因:
原因补充:

(最多只允许输入30个字)