HibernateCallback()是一个回调方法,在hibernate框架下,对数据库的一种操作,其实它使用很简单的,用这个方法是为了方便,为了创建session,须要在回调方法里比如:
public List selectList(final int startPage, final int endPage) {
List list = new ArrayList();
final String hql = "from Item order by id desc";
list = this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);//创建SESSION
query.setFirstResult(startPage);//分页设置
query.setMaxResults(endPage);
List list = query.list();获取结果结晶
return list;//返回值
}
});
return list;
}
public list finduserinfolist(final string orderby, final string ascordesc, final int firstresult, final int maxresults) { return gethibernatetemplate().executefind(new hibernatecallback() { public object doinhibernate(session s) throws hibernateexception, sqlexception { string q = "from userinfo order by " + orderby + " " + ascordesc; query query = s.createquery(q); query.setfirstresult(firstresult); query.setmaxresults(maxresults); list list = query.list(); return list; } }); }
HibernateCallback实例可在任何有效的Hibernate数据访问中使用。
程序开发者通过HibernateCallback,可以完全使用Hibernate灵活的方式来访问数据库,解决Spring封装Hibernate后灵活性不足的缺陷。
HibernateCallback是一个接口,该接口只有一个方法doInHibernate(org.hibernate.Session session),
该方法只有一个参数Session。通常,程序中采用实现HibernateCallback的匿名内部类来获取HibernateCallback的实例。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....