导语最近用hibernate写博客的crud时,发现this.gethibernateTemlpate()这个方法用到很多,所以特意研究了一番,一起分享
基本crud操作
- 实体类(下面都是用这个实体)
class User{
private int id;
private int username;
.......
set and get方法
}
直接用save()
@Override
public void save(User user) {
this.getHibernateTemplate().save(user);
}
- 相应地,
this.getHibernateTemplate().update(user)
,
this.getHibernateTemplate().delete(user)
可以进行相应地操作
重点this.getHibernate().findByCriteria()
- 这个方法用了挺多的,而且很方便,特别是进行分页查询的时候
getHibernateTemplate().findByCriteria(criteria, firstResult, maxResults)
用来查询需要的分页的属性,
例如:分页查询User
@Override
public List<User> findAll(int begin, int pageSize) {
DetachedCriteria criteria = DetachedCriteria.forClass(User.class);
// 查询分页数据
@SuppressWarnings("unchecked")
List<User> list = (List<User>) this.getHibernateTemplate().findByCriteria(criteria,begin,pageSize);
System.out.println("articleTypeDao.findAll()");
return list;
}
- 更方便的是criteria后面用add()方法还可以跟查询条件
例如:
public void find(){
DetachedCriteria criteria = DetachedCriteria.forClass(User.class).add( Restrictions.like("name", "Fritz%") );
}