Struts+Hibernate模板开发笔记---设计模式:DAO
2005-06-04 17:06
501 查看
使用数据访问对象(DAO)使我们可以将底层数据访问逻辑与业务逻辑分离开。我们构建了为每一个数据源提供 GRUD (创建、读取、更新、删除)操作的 DAO 类。
下面是一个数据源GRUD(创建)操作的DAO实例.
1.接口(DemoDAO.java)
下面是一个数据源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(); } } }
相关文章推荐
- Struts+Hibernate模板开发笔记---设计模式:单例
- Struts+Hibernate模板开发笔记---设计模式:MVC
- Struts+Hibernate模板开发笔记---设计模式:门面
- Struts+Hibernate模板开发笔记(一)
- 【学习笔记javascript设计模式与开发实践(模板方法模式)----11】
- Struts+Hibernate模板开发笔记
- Struts+Hibernate模板开发笔记(转)
- Struts+Hibernate模板开发笔记---自定义标签
- Struts+Hibernate模板开发笔记---解决汉字编码问题
- 设计模式学习笔记——模板方法模式
- 基于泛型DAO的Facade设计模式. - Hibernate - Java
- Struts+Hibernate模式: jsp->servlet->session bean->DAO->Hibernate->Database 各层面的功能及其实现
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式笔记(14)---模板方法模式(行为型)
- 设计模式学习笔记(十八:模板方法模式)
- 设计模式学习笔记——Template Method模板方法模式
- 使用模板模式简化DAO操作Hibernate
- 黑马程序员-Java学习笔记之设计模式(单例设计模式,装饰设计模式,模板设计模式)
- Java设计模式笔记之模板方法模式
- 基于hibernate开发模式的设计改进