关于SSH中DAO层的增删改查
我刚学SSH,老师教的是这样的:增加:publicXiaoshoudoSave(Xiaoshouxiaoshou){Xiaoshouxiaoshous=null;Sess...
我刚学SSH,老师教的是这样的:
增加:
public Xiaoshou doSave(Xiaoshou xiaoshou){
Xiaoshou xiaoshous= null;
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(xiaoshou);
tx.commit();
return xiaoshous;
} catch (HibernateException e) {
// TODO Auto-generated catch block
tx.rollback();
e.printStackTrace();
}finally{
session.close();
}
return xiaoshous;
}
查询:
public Xiaoshou doFindbyId(int id){
Xiaoshou xiaoshou = null;
Session session = sessionFactory.openSession();
try {
String hql = "select Xiaoshou as x where x.id=" + id;
Query query = session.createQuery(hql);
xiaoshou = (Xiaoshou) query.uniqueResult();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
session.close();
}
return xiaoshou;
}
但我网上看到的例子怎么是这样的:
查询:public List findById(final Integer id){
return (List) this.getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
return session.createQuery("from Cust c where c.id='"+id+"'").list();
}});
}
这继承了HibernateDaoSupport之后就能这么写吗,请问还有增删改在继承了HibernateDaoSupport之后怎么写,请麻烦写下代码,谢谢了 展开
增加:
public Xiaoshou doSave(Xiaoshou xiaoshou){
Xiaoshou xiaoshous= null;
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(xiaoshou);
tx.commit();
return xiaoshous;
} catch (HibernateException e) {
// TODO Auto-generated catch block
tx.rollback();
e.printStackTrace();
}finally{
session.close();
}
return xiaoshous;
}
查询:
public Xiaoshou doFindbyId(int id){
Xiaoshou xiaoshou = null;
Session session = sessionFactory.openSession();
try {
String hql = "select Xiaoshou as x where x.id=" + id;
Query query = session.createQuery(hql);
xiaoshou = (Xiaoshou) query.uniqueResult();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
session.close();
}
return xiaoshou;
}
但我网上看到的例子怎么是这样的:
查询:public List findById(final Integer id){
return (List) this.getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
return session.createQuery("from Cust c where c.id='"+id+"'").list();
}});
}
这继承了HibernateDaoSupport之后就能这么写吗,请问还有增删改在继承了HibernateDaoSupport之后怎么写,请麻烦写下代码,谢谢了 展开
4个回答
展开全部
我不赞成(568145421)的说法,谁说不能返回一个集合啊,没错,按常理来说,用户名和密码匹配都是唯一的,是可以返回一个实体。但是返回一个集合错了吗?这个集合保存了一个用户的数据不行吗?显然是可以返回一个集合的。
你在网上看到的那种还行,这样子就不要你在手动的提交事务了。增删改和以前的还是一样的。可以用update、delete、save的。反正用spring来管理hibernate就必须继承HibernateDaoSupport这个类。
你在网上看到的那种还行,这样子就不要你在手动的提交事务了。增删改和以前的还是一样的。可以用update、delete、save的。反正用spring来管理hibernate就必须继承HibernateDaoSupport这个类。
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
展开全部
你好,你的写法是教科书版的,标准,经得起推敲。先说你网上看到的存在的不合理性,按id查询,是不可能获得一个集合的,除非数据库设计的不合理。还有你也不要着急,既然有老师教,那你就慢慢学。这些东西底层都一样,别管它用什么写法。
继承了HibernateDaoSupport就是省事了,
继承了HibernateDaoSupport就是省事了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
与很多方式,给你几种简单的:修改或者增加: getHibernateTemplate().saveOrUpdate(user);
删除: Object p = getHibernateTemplate().load(User.class, new Integer(userid));
getHibernateTemplate().delete(p);
删除: Object p = getHibernateTemplate().load(User.class, new Integer(userid));
getHibernateTemplate().delete(p);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
等你学了spring 再来用。 这是spring的内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询