ssh框架,我想用hibernateTemplate来执行SQL语句,而不是HQL语句,怎么办啊,求高手
3个回答
展开全部
hibernateTemplate里面需要封装sql语句的方法,如果没有封装,不好意思用不了
追问
这个要怎么封装sql?
追答
public int excuteUpdateWithSQL(String sql, Object[] params) {
Session session = null;
Transaction tx = null;
Query query = null;
int row = 0;
try {
session = HibernateUtil.getSession();
tx = session.beginTransaction();
query = session.createSQLQuery(sql);
initParams(query, params);
row = query.executeUpdate();
tx.commit();
} catch (Exception e) {
HibernateUtil.rollbackTx(tx);
throw new DaoException(e);
} finally {
HibernateUtil.closeSession(session);
}
return row;
}这就是封装类里面的其中一个sql方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用回调
getHibernateTemplate().execute(new HibernateCallback{
public Long doInHibernate(Session session) throws HibernateException, SQLException {
//TODO something
}
});
getHibernateTemplate().execute(new HibernateCallback{
public Long doInHibernate(Session session) throws HibernateException, SQLException {
//TODO something
}
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQLQuery query=session.createSQLQuery(sql);
更多追问追答
追问
只能这样吗,通过hibernateTemplate得到session?
追答
我知道最常用的就是这种,可能还有其他的,你等其他人的回答吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询