实现基于hibernate的BaseHibernateDao包含常用的CURD方法

其实具体意思我也没懂,但是好像很厉害的样子。如果有人会的话,可以帮忙写一下,我看看,绝对不是抄袭。吾乃学生妹子一名~~~求帮助~~~这个问题给出来就是这样的,我并不了解意... 其实具体意思我也没懂,但是好像很厉害的样子。如果有人会的话,可以帮忙写一下,我看看,绝对不是抄袭。吾乃学生妹子一名~~~求帮助~~~
这个问题给出来就是这样的,我并不了解意思,所以来求助一下。不要问我什么意思了,,我也不知道。。。这是题目。。。坑o(╯□╰)o
最后一次提高悬赏。不能再高了。我到现在都没睡,结果连解决问题的都没有。我醉了。
展开
 我来答
mikemelon2012
2015-04-06 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:392万
展开全部

BaseHibernateDao的意思就是用泛型的方法实现一个基本的增删改查(CURD)方法,这样一些基本的单表操作直接继承这个类就可以实现了,例子如下:


public class BaseHibernateDAO {
private Session session = null ;
private Object get(Class clz , Serializable id){
Object ret = null ;
Session session = HibernateSessionFactory.getSession();
try {
ret = session.get(clz, id);
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeSession();
}
return ret ;
}
protected void add(Object item){
Transaction tx = null ;
Session session = HibernateSessionFactory.getSession();
try {
tx = session.beginTransaction();
session.save(item);
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(tx != null){
tx.rollback();
}
e.printStackTrace();
}finally{
closeSession();
}
}
public void delete(Class clz , Serializable id){
Transaction tx = null ;
Session session = HibernateSessionFactory.getSession();
try {
tx = session.beginTransaction();
session.delete(this.get(clz, id));
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(tx != null){
tx.rollback();
}
e.printStackTrace();
}finally{
closeSession();
}
}
public void update(Object item){
Transaction tx = null ;
Session session = HibernateSessionFactory.getSession();
try {
tx = session.beginTransaction();
session.update(item);
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(tx != null){
tx.rollback();
}
e.printStackTrace();
}finally{
closeSession();
}
}
public List search(Class clazz , Object condition){
List results = null ;
try {
Session session = HibernateSessionFactory.getSession();
results = session.createCriteria(clazz).add(Example.create(condition)).list();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
closeSession();
}
return results;
}
protected void closeSession(){
this.session = null ;
HibernateSessionFactory.closeSession();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式