• 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

  • 相关阅读:
    POJ 1860
    Notepad++ 经常使用快捷键 (MEMO)
    SpringMVC现实
    krpano漫游加方向性3D声音(这篇文章已被移到krpano中国网站 krpano360.com)
    DFS PKU 1562
    Java中间(三十五)-----Java详细设置(一个):请指定初始容量设置
    HDU 5052 Yaoge’s maximum profit 光秃秃的树链拆分 2014 ACM/ICPC Asia Regional Shanghai Online
    智课雅思词汇---二十五、-ate
    新东方雅思词汇---8.3、apt
    新东方雅思词汇---7.4、cap
  • 原文地址:https://www.cnblogs.com/tdcqma/p/4877316.html
Copyright © 2020-2023  润新知