hibernate系列(2)之getHibernateTemplate()

来源:互联网 发布:而立不惑知天命的含义 编辑:程序博客网 时间:2024/06/01 16:04

导语最近用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%") );}
0 0