JavaWeb学习之HibernateDaoSupport使用

Posted 小明TI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb学习之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 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 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

   <property name="sessionFactory">  

       <ref bean="sf" />  

   </property>  

</bean>  

以上是关于JavaWeb学习之HibernateDaoSupport使用的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb学习之Servlet基础

JavaWeb学习之Servlet基础

Day08 JavaWeb学习之Xml 01

Javaweb学习之day5

Javaweb学习之day5

JavaWeb学习之Hibernate框架