spring3.1 + hibernate4.1 + struts2.3整合,dao层该怎么写

 我来答
fuhaiwei
2013-01-31 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1391万
展开全部
// 让你的Dao继承这个DaoSupport
// 注意:

// 1、需要Spring注入sessionFactory
// 2、需要Spring声明式事物
// 3、有其他问题email我,fuhaiwei@126.com

package com.fuhaiwei.dao;

import static org.hibernate.criterion.Restrictions.eq;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

public class DaoSupport {

private SessionFactory sessionFactory;

public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}

protected Session getSession() {
return sessionFactory.getCurrentSession();
}

protected void save(Object obj) {
getSession().save(obj);
}

protected <T> T get(Class<T> clazz, int id) {
return (T) getSession().get(clazz, id);
}

protected <T> List<T> findByProperty(Class<T> clazz, String property, Object value) {
return getSession().createCriteria(clazz).add(eq(property, value)).list();
}

protected <T> List<T> findAll(Class<T> clazz) {
return getSession().createCriteria(clazz).list();
}

protected void update(Object obj) {
getSession().update(obj);
}

protected void delete(Class clazz, int id) {
getSession().delete(get(clazz, id));
}

protected void delete(Object obj) {
getSession().delete(obj);
}

}
追问
是不是没有HibernateTemplate呢?JdbcTemplate是否还能继续使用
追答
从hibernate4开始,就不能使用HibernateTemplate了,因为Hibernate Session已经很好用了。可以直接使用Hibernate Session。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式