请大家进来看以下这个简单的java编程题目: (谢谢)

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:19:54
(可以复制出来看吧)
package com.hr.core.factory;

import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.hr.system.bean.Users;

public class BaseHibernateDAO extends HibernateDaoSupport implements IBaseHibernateDAO{

// 用户登陆
public Users login(Users users) {
/*String queryString = "from User where U_NAME=? and U_PASSWORD=?";
String[] object = new String[2];
object[0] = user.getUName();
object[1] = user.getUPassword();
List<?> list = this.getHibernateTemplate().find(queryString, object);*/
List<?> list=this.getHibernateTemplate().findByExample(users);
if (list.size() >= 1) {
return (Users) list.get(0);
} else {
return null;
}
}

/** ***********************************BaseHibernateDAO*************************** */

// 添加信息
public boolean insert(Object it

该类是Spring为Hibernate的DAO提供的工具类。该类主要提供如下2个方法,方便DAO的实现。

l public final HibernateTemplate getHibernateTemplate()

用来根据刚才的SessionFactory产生Session,最后生成HibernateTemplate来完成数据库的访问。

l public final void setSessionFactory(SessionFactory sessionFactory)

setSessionFactory方法用来接收Spring的ApplicationContext的依赖注入,可接收配置在Spring的SessionFactory实例

HibernateDaoSupport将依赖注入SessionFactory的工作已经完成,获取HibernateTemplate的工作也已经完成。注意,这种方法须在Spring的配置文件中配置SessionFactory。

在继承HibrnateDaoSupport的DAO实现里,Hibernate Session的管理完全不需要Hibernate代码打开,而由Spring来管理。Spring会根据实际的操作,采用“每次事务打开一次session”的策略,自动提高数据库访问的性能。