`
lpacec
  • 浏览: 172247 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Hibernate+Spring 对DAO的处理实列!

阅读更多
java 代码
  1. package infoweb.dao;      
  2.      
  3. import java.util.List;      
  4. import java.util.Iterator;      
  5.      
  6. import infoweb.pojo.Info;      
  7.      
  8. import net.sf.hibernate.HibernateException;      
  9. import net.sf.hibernate.Query;      
  10. import net.sf.hibernate.Session;      
  11.      
  12. import org.springframework.orm.hibernate.HibernateCallback;      
  13. import org.springframework.orm.hibernate.support.HibernateDaoSupport;      
  14.      
  15. /**     
  16.  * <p>Title: </p>    
  17.  * <p>Description: </p>    
  18.  * <p>Copyright: Copyright (c) 2004</p>    
  19.  * <p>Company: </p>    
  20.  * @author 段洪杰     
  21.  * @version 1.0     
  22.  */      
  23.      
  24. public class InfoDAOImpl extends HibernateDaoSupport implements IInfoDAO {      
  25.   /**     
  26.    * 构造函数     
  27.    */      
  28.   public InfoDAOImpl() {      
  29.     super();      
  30.   }      
  31.      
  32.   /**     
  33.    * 增加记录     
  34.    * @param info Info     
  35.    */      
  36.   public void setInfo(Info info) throws Exception {      
  37.     getHibernateTemplate().save(info);      
  38.   }      
  39.      
  40.   /**     
  41.    * 通过ID取得记录     
  42.    * @param id String     
  43.    * @return Info     
  44.    */      
  45.   public Info getInfoById(String id) throws Exception {      
  46.     Info info = (Info) getHibernateTemplate().load(Info.class, id);      
  47.     return info;      
  48.   }      
  49.      
  50.   /**     
  51.    * 修改记录     
  52.    * @param Info info     
  53.    */      
  54.   public void modifyInfo(Info info) throws Exception {      
  55.     getHibernateTemplate().update(info);      
  56.   }      
  57.      
  58.   /**     
  59.    * 删除记录     
  60.    * @param Info info     
  61.    */      
  62.   public void removeInfo(Info info) throws Exception {      
  63.     getHibernateTemplate().delete(info);      
  64.   }      
  65.      
  66.   ////////////////////////////////////////////////////////      
  67.   /////                                                ///      
  68.   /////以下部份不带审核功能                              ///      
  69.   /////                                                ///      
  70.   ////////////////////////////////////////////////////////      
  71.      
  72.   /**     
  73.    * 取记录总数     
  74.    * @return int     
  75.    */      
  76.   public int getInfosCount() throws Exception {      
  77.     int count = 0;      
  78.     String queryString = "select count(*) from Info";      
  79.     count = ((Integer) getHibernateTemplate().iterate(queryString).next()).      
  80.             intValue();      
  81.     return count;      
  82.   }      
  83.      
  84.   /**     
  85.    * 取所有记录集合     
  86.    * @return Iterator     
  87.    */      
  88.   public Iterator getAllInfos() throws Exception {      
  89.     Iterator iterator = null;      
  90.     String queryString = " select info from Info as info order by info.id desc";      
  91.     List list = getHibernateTemplate().find(queryString);      
  92.     iterator = list.iterator();      
  93.     return iterator;      
  94.   }      
  95.      
  96.   /**     
  97.    * 取记录集合     
  98.    * @return Iterator     
  99.    * @param int position, int length     
  100.    */      
  101.   public Iterator getInfos(int position, int length) throws Exception {      
  102.     Iterator iterator = null;      
  103.     String queryString = " select info from Info as info order by info.id desc";      
  104.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  105.     //设置游标的起始点      
  106.     query.setFirstResult(position);      
  107.     //设置游标的长度      
  108.     query.setMaxResults(length);      
  109.     //记录生成      
  110.     List list = query.list();      
  111.     //把查询到的结果放入迭代器      
  112.     iterator = list.iterator();      
  113.     return iterator;      
  114.   }      
  115.      
  116.   /**     
  117.    * 取第一条记录     
  118.    * @throws Exception     
  119.    * @return Station     
  120.    */      
  121.   public Info getFirstInfo() throws Exception {      
  122.     Iterator iterator = null;      
  123.     Info info = null;      
  124.     String queryString = "select info from Info as info order by info.id desc";      
  125.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  126.     //记录生成      
  127.     List list = query.list();      
  128.     //把查询到的结果放入迭代器      
  129.     iterator = list.iterator();      
  130.     if (iterator.hasNext()) {      
  131.       info = (Info) iterator.next();      
  132.     }      
  133.     return info;      
  134.   }      
  135.      
  136.   /**     
  137.    * 取最后一条记录     
  138.    * @throws Exception     
  139.    * @return Station     
  140.    */      
  141.   public Info getLastInfo() throws Exception {      
  142.     Iterator iterator = null;      
  143.     Info info = null;      
  144.     String queryString = "select info from Info as info order by info.id asc";      
  145.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  146.     //记录生成      
  147.     List list = query.list();      
  148.     //把查询到的结果放入迭代器      
  149.     iterator = list.iterator();      
  150.     if (iterator.hasNext()) {      
  151.       info = (Info) iterator.next();      
  152.     }      
  153.     return info;      
  154.      
  155.   }      
  156.      
  157.   ////////////////////////////////////////////////////////      
  158.   /////                                                ///      
  159.   ///// 以下部份表中要有特定字段才能正确运行   个人和企业     ///      
  160.   /////                                                ///      
  161.   ////////////////////////////////////////////////////////      
  162.      
  163.   /**     
  164.    * 取符合条件记录总数, [表中要有 isperson 字段]     
  165.    * @return int     
  166.    * @param int isPerson     
  167.    */      
  168.      
  169.   public int getInfosCountByIsperson(int isPerson) throws Exception {      
  170.     int count = 0;      
  171.     String queryString =      
  172.         "select count(*) from Info as info where info.isperson =" + isPerson;      
  173.     count = ((Integer) getHibernateTemplate().iterate(queryString).next()).      
  174.             intValue();      
  175.     return count;      
  176.   }      
  177.      
  178.   /**     
  179.    * 取所有符合条件记录集合, 模糊查询条件.[表中要有 isperson 字段]     
  180.    * @return Iterator     
  181.    * @param int isPerson     
  182.    */      
  183.      
  184.   public Iterator getAllInfosByIsperson(int isPerson) throws Exception {      
  185.     Iterator iterator = null;      
  186.     String queryString = " select info from Info as info where info.isperson =" +      
  187.                          isPerson + " order by info.id desc";      
  188.     List list = getHibernateTemplate().find(queryString);      
  189.     //把查询到的结果放入迭代器      
  190.     iterator = list.iterator();      
  191.     return iterator;      
  192.   }      
  193.      
  194.   /**     
  195.    * 取符合条件记录集合, 模糊查询条件.[表中要有 isperson 字段]     
  196.    * @return Iterator     
  197.    * @param int isPerson,int position, int length     
  198.    */      
  199.      
  200.   public Iterator getInfosByIsperson(int isPerson, int position, int length) throws      
  201.       Exception {      
  202.     Iterator iterator = null;      
  203.     String queryString = " select info from Info as info where info.isperson =" +      
  204.                          isPerson + " order by info.id desc";      
  205.     //创建查询      
  206.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  207.     //设置游标的起始点      
  208.     query.setFirstResult(position);      
  209.     //设置游标的长度      
  210.     query.setMaxResults(length);      
  211.     //记录生成      
  212.     List list = query.list();      
  213.     //把查询到的结果放入迭代器      
  214.     iterator = list.iterator();      
  215.     return iterator;      
  216.   }      
  217.      
  218.   ////////////////////////////////////////////////////////      
  219.   /////                                                ///      
  220.   ///// 以下部份表中要有特定字段才能正确运行   查询部份      ///      
  221.   /////                                                ///      
  222.   ///////////////////////////////////////////////////////      
  223.   /**     
  224.    * 取符合条件记录总数, 模糊查询条件.[表中要有 title 字段]     
  225.    * @return int     
  226.    * @param String text     
  227.    */      
  228.   public int getInfosCount(String text) throws Exception {      
  229.     int count = 0;      
  230.     count = ((Integer) getHibernateTemplate().iterate(      
  231.         "select count(*) from Info as info where info.title like '%" + text +      
  232.         "%'").next()).intValue();      
  233.     return count;      
  234.   }      
  235.      
  236.   /**     
  237.    * 取所有符合条件记录集合, 模糊查询条件.[表中要有 title 字段]     
  238.    * @return Iterator     
  239.    * @param String text     
  240.    */      
  241.      
  242.   public Iterator getAllInfos(String text) throws Exception {      
  243.     Iterator iterator = null;      
  244.     String queryString =      
  245.         " select info from Info as info where info.title like '%" + text +      
  246.         "%' order by info.id desc";      
  247.     //创建查询      
  248.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  249.     //记录生成      
  250.     List list = query.list();      
  251.     //把查询到的结果放入迭代器      
  252.     iterator = list.iterator();      
  253.     return iterator;      
  254.   }      
  255.      
  256.   /**     
  257.    * 取符合条件记录集合, 模糊查询条件.[表中要有 title 字段]     
  258.    * @return Iterator     
  259.    * @param String text,int position, int length     
  260.    */      
  261.   public Iterator getInfos(String text, int position, int length) throws      
  262.       Exception {      
  263.     Iterator iterator = null;      
  264.     String queryString =      
  265.         " select info from Info as info where info.title like '%" + text +      
  266.         "%' order by info.id desc";      
  267.      
  268.     //创建查询      
  269.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  270.     //设置游标的起始点      
  271.     query.setFirstResult(position);      
  272.     //设置游标的长度      
  273.     query.setMaxResults(length);      
  274.     //记录生成      
  275.     List list = query.list();      
  276.     //把查询到的结果放入迭代器      
  277.     iterator = list.iterator();      
  278.     return iterator;      
  279.   }      
  280.      
  281.   ////////////////////////////////////////////////////////      
  282.   /////                                                ///      
  283.   ///// 以下部份表中要有特定字段才能正确运行   注册相关      ///      
  284.   /////                                                ///      
  285.   ////////////////////////////////////////////////////////      
  286.      
  287.   /**     
  288.    * 取符合条件记录总数.[ 表中要有 registername 字段]     
  289.    * @return int     
  290.    * @param String text     
  291.    */      
  292.   public int getInfosCountByRegisterName(String registerName) throws Exception {      
  293.     int count = 0;      
  294.     count = ((Integer) getHibernateTemplate().iterate(      
  295.         "select count(*) from Info as info where info.registername = '" +      
  296.         registerName + "'").next()).intValue();      
  297.     return count;      
  298.   }      
  299.      
  300.   /**     
  301.    * 通过注册名取得一条记录,如有多条,只取第一条.[表中要有 registername字段]     
  302.    * @param registername String     
  303.    * @return Info     
  304.    */      
  305.   public Info getInfoByRegisterName(String registerName) throws Exception {      
  306.     Iterator iterator = null;      
  307.     Info info = null;      
  308.     String queryString =      
  309.         " select info from Info as info where info.registername='" +      
  310.         registerName + "' order by info.id desc";      
  311.     //创建查询      
  312.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  313.     //记录生成      
  314.     List list = query.list();      
  315.     //把查询到的结果放入迭代器      
  316.     iterator = list.iterator();      
  317.     if (iterator.hasNext()) {      
  318.       info = (Info) iterator.next();      
  319.     }      
  320.     return info;      
  321.   }      
  322.      
  323.   /**     
  324.    * 通过注册名取得所有记录集合.[表中要有 registername字段]     
  325.    * @param registername String     
  326.    * @return Iterator     
  327.    */      
  328.   public Iterator getAllInfosByRegisterName(String registerName) throws      
  329.       Exception {      
  330.     Iterator iterator = null;      
  331.     String queryString =      
  332.         " select info from Info as info where info.registername='" +      
  333.         registerName + "' order by info.id desc";      
  334.     //创建查询      
  335.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  336.     //记录生成      
  337.     List list = query.list();      
  338.     //把查询到的结果放入迭代器      
  339.     iterator = list.iterator();      
  340.     return iterator;      
  341.   }      
  342.      
  343.   /**     
  344.    * 通过注册名取得记录列表.[表中要有 registername字段]     
  345.    * @param registername String     
  346.    * @return Iterator     
  347.    */      
  348.   public Iterator getInfosByRegisterName(String registerName, int position,      
  349.                                          int length) throws Exception {      
  350.     Iterator iterator = null;      
  351.     String queryString =      
  352.         " select info from Info as info where info.registername='" +      
  353.         registerName + "' order by info.id desc";      
  354.     //创建查询      
  355.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  356.     //设置游标的起始点      
  357.     query.setFirstResult(position);      
  358.     //设置游标的长度      
  359.     query.setMaxResults(length);      
  360.     //记录生成      
  361.     List list = query.list();      
  362.     //把查询到的结果放入迭代器      
  363.     iterator = list.iterator();      
  364.     return iterator;      
  365.   }      
  366.      
  367.   ////////////////////////////////////////////////////////      
  368.   /////                                                ///      
  369.   ///// 以下部份表中要有特定字段才能正确运行     树型版块     ///      
  370.   /////                                                ///      
  371.   ////////////////////////////////////////////////////////      
  372.      
  373.   /**     
  374.    * 取记录总数.[ 表中要有 board_id 字段]     
  375.    * @return int     
  376.    * @param String boardId     
  377.    */      
  378.   public int getInfosCountByBoard(String boardId) throws Exception {      
  379.     int count = 0;      
  380.      
  381.     count = ((Integer) getHibernateTemplate().iterate(      
  382.         "select count(*) from Info as info where info.boardId = '" + boardId +      
  383.         "'").next()).intValue();      
  384.      
  385.     return count;      
  386.   }      
  387.      
  388.   /**     
  389.    * 通过版块名取得所有记录集合.[表中要有 board_id字段]     
  390.    * @param BoardId String     
  391.    * @return Iterator     
  392.    */      
  393.   public Iterator getAllInfosByBoard(String boardId) throws Exception {      
  394.     Iterator iterator = null;      
  395.     String queryString = " select info from Info as info where info.boardId='" +      
  396.                          boardId + "' order by info.id desc";      
  397.     //创建查询      
  398.     Query query = getHibernateTemplate().createQuery(getSession(), queryString);      
  399.     //记录生成      
  400.     List list = query.list();      
  401.     //把查询到的结果放入迭代器      
  402.     iterator = list.iterator();      
  403.     return iterator;
分享到:
评论

相关推荐

    论坛系统项目(Struts 2+Hibernate+Spring实现)

    论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...

    JSP-车辆管理系统(struts+hibernate+spring+oracle)

    JSP-车辆管理系统(struts+hibernate+spring+oracle) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! JSP-车辆管理系统(struts+hibernate+spring+oracle) JSP-车辆管理系统(struts+hibernate+spring+oracle) ...

    struts2+hibernate+spring框架整合实列

    Struts2、Hibernate和Spring是Java Web开发中的三大主流框架,它们各自负责应用程序的不同层面:Struts2专注于表现层,Hibernate处理数据持久化,而Spring则在业务逻辑和依赖注入方面发挥重要作用。将这三个框架整合...

    网络硬盘(Struts 2+Hibernate+Spring实现)

    网络硬盘(Struts 2+Hibernate+Spring实现)网络硬盘(Struts 2+Hibernate+Spring实现)网络硬盘(Struts 2+Hibernate+Spring实现)网络硬盘(Struts 2+Hibernate+Spring实现)网络硬盘(Struts 2+Hibernate+Spring...

    struts2+hibernate+spring+dwr整合

    2. Spring 作为整体的容器,管理所有组件的生命周期,包括Struts2的Action、Hibernate的数据访问对象(DAO)以及DWR的远程接口。Spring的DI特性使得各组件之间的依赖关系得以解耦。 3. Hibernate 作为持久层框架,...

    Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse源码

    《JavaWeb整合开发完全自学手册》介绍如何整合Struts+Hibernate+Spring+Eclipse进行J2EE开发,所有实例都基于MyEclipseIDE开发,引领读者快速进入基于JavaWeb的J2EE应用领域。《JavaWeb整合开发完全自学手册》主要...

    struts+hibernate+spring融合实列

    Struts、Hibernate和Spring是Java开发中非常流行的三个开源框架,它们各自负责应用程序的不同层面:Struts处理MVC(模型-视图-控制器)架构中的控制器部分,Hibernate专注于对象关系映射(ORM),使得数据库操作更为...

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+hibernate+spring+oracle)

    计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+hibernate+spring+oracle) 计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+hibernate+spring+oracle) 计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+...

    一个Struts2+Hibernate+Spring例题

    一个Struts2+Hibernate+Spring例题 一个Struts2+Hibernate+Spring例题 一个Struts2+Hibernate+Spring例题 一个Struts2+Hibernate+Spring例题 一个Struts2+Hibernate+Spring例题

    Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

    在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习

    开发者突击·Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)源码

    《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》详细介绍了Java Web软件架构中的各种开发技术。主要内容包括:以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具、CVS为版本控制工具...

    计算机毕业设计成品 JAVA JSP 车辆管理系统struts+hibernate+spring (源码+WORD文档)

    计算机毕业设计成品 JAVA JSP 车辆管理系统struts+hibernate+spring (源码+WORD文档) 计算机毕业设计成品 JAVA JSP 车辆管理系统struts+hibernate+spring (源码+WORD文档) 计算机毕业设计成品 JAVA JSP 车辆管理...

    struts1+spring+hibernate整合实列

    Struts1、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的不同层面上发挥作用,共同构建出高效、模块化的应用系统。Struts1主要负责控制层,Spring作为核心容器,提供依赖注入(DI)和面向切面...

    swing+hibernate+spring

    给swing+hibernate+spring组合的示例,供大家参考(附源代码和数据库),藐视网上搜索没有搜索到类似的资源。一般只struts+hibernate+spring的组合。

    整合Struts+Hibernate+Spring应用开发详解2

    本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: ...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

    Spring还包含了数据访问抽象,如JDBC模板和DAO支持,以及对Hibernate的集成,方便在Spring环境中使用Hibernate。此外,Spring MVC是Spring提供的一个Web MVC框架,可以与Struts2协同工作,提供另一种实现MVC设计模式...

    Java Web整合开发实战:基于Struts 2+Hibernate+Spring(PDF)

    Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...

    struts+hibernate+spring源码

    总的来说,这份"Struts+Hibernate+Spring源码"集合是一份宝贵的资源,它提供了深入学习和研究这些框架的机会,对提升Java开发者的技术水平大有裨益。通过深入源码,不仅可以掌握框架的基本用法,还能理解其设计理念...

Global site tag (gtag.js) - Google Analytics