zoukankan      html  css  js  c++  java
  • HibernateDaoSupport类的使用

    看到一篇很好描述HibernateDaoSupport类使用的例子,特此在这和大家分享一下
    核心提示:1、 继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioon的形式来获 取Session了,由于HibernateDaoSupport本身已有获取session的方法getSession(),所以直接用Session se=this.getSession();来获取, 2、 在依据hql获取用户

    1、        继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioon的形式来获 取Session了,由于HibernateDaoSupport本身已有获取session的方法getSession(),所以直接用Session se=this.getSession();来获取,

    2、        在依据hql获取用户信息时,继承了HibernateDaoSupport类的类中不能在使用Query类了,而是用List<Ssh> list = this.getHibernateTemplate().find(hql);形式来获取实体类集合

    实例:

    Java类篇:

    import java.util.List;    
      
    import org.hibernate.Query;   
      
    import org.hibernate.Session;   
      
    import org.hibernate.SessionFactory;   
      
    import org.springframework.context.ApplicationContext;   
      
    import org.springframework.context.support.ClassPathXmlApplicationContext;   
      
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;   
      
    import entity.Ssh;    
      
    public class SshDAO extends HibernateDaoSupport {   
      
    //  private SessionFactory sf = null;   
      
    //   
      
    //  public SessionFactory getSf() {   
      
    //     return sf;   
      
    //  }   
      
    //   
      
    //  public void setSf(SessionFactory sf) {   
      
    //     this.sf = sf;   
      
    //  }   
      
        
      
    //  public String print(int id) {   
      
    //     Session se = sf.openSession();   
      
    //     String hql = "from Ssh where id=" + id;   
      
    //     Query q = se.createQuery("hql");   
      
    //     List<Ssh> list = q.list();   
      
    //     String a = list.get(1).getName();   
      
    //     return a;   
      
    //  }   
      
        public String print(int id) {   
      
           Session se =this.getSession();//获取Session对象   
      
           String hql = "from Ssh where id=" + id;   
      
           //依据hql获取实体集合,此处不要用Query类来实现   
      
           List<Ssh> list = this.getHibernateTemplate().find(hql);   
      
           String a = list.get(0).getName();   
      
           return a;   
      
        }   
      
        public static void main(String[] args) {   
      
           ApplicationContext ac=newClassPathXmlApplicationContext   
      
    ("spring/spring.xml");   
      
           SshDAO ssh=(SshDAO)ac.getBean("sshD");   
      
           System.out.println(ssh.print(1));   
      
        }   
      
    } 

    Spring.xml 文件篇: 

    在spring中配置继承了HibernateDaoSupport的类时此处的sessionFactory不能自定义! Sf为spring中的SessionFacotry的id

    <bean id="sshD" class="dao.SshDAO">  
      
           <property name="sessionFactory">  
      
               <ref bean="sf" />  
      
           </property>  
      
        </bean>  

    注意:此种情况适应于实体Dao类时系统自动生成时

    文章来源:http://ajava.org/course/open/17629.html

                  http://www.cnblogs.com/azai/archive/2011/03/25/1995158.html#commentform

  • 相关阅读:
    c语言通过89C51驱动1602液晶显示(入门级别)
    Top k问题的讨论(三种方法的java实现及适用范围)
    单链表是否有环的问题解决与讨论(java实现)
    有效二叉查找树判断(java实现)
    字典序全排列(java实现)
    Java LRU的实现
    Windows 系统中目录 (Directory) 与文件夹 (Folder) 的区别
    Linux 版 SecureCRT 界面变为 Windows 2000 风格的解决办法
    也谈如何获取真实正确的 Windows 系统版本号
    64 位 Windows 平台开发要点之文件系统重定向
  • 原文地址:https://www.cnblogs.com/tdcqma/p/4877316.html
Copyright © 2011-2022 走看看