hibernate
菜鸟学Hibernate的使用<一>
1.首先在dao中得到Hibernate对象:
public HibernateTemplate hibernateTemplate; @Resource public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; }
2.saveOrUpdate(); 跟新或者保存方法
3.save(); 仅仅执行保存方法
4.execute(); 执行方法;
/** * 通过ID批量更新字段 */ public void updateByColumn(String column, Object val, final Object[] ids) { final String hql= String.format("update %s set %s=%s where id in (:ids)", entityClass.getName(), column, val); hibernateTemplate.execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Query query = session.createQuery(hql); query.setParameterList("ids", ids); return query.executeUpdate(); } }); }
/** * 执行SQL:update或delete */ public void executeSQL(final String sql, final List parameters){ hibernateTemplate.execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Query query = session.createQuery(sql); if(parameters!=null && parameters.size()>0){ for (int i = 0; i < parameters.size(); i++){ query.setParameter(i, parameters.get(i)); } } return query.executeUpdate(); } }); }
/** * 通过SQL查询 */ public List queryBySQL(final String sql, final List parameters){ List list = (List)hibernateTemplate.execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Query query = session.createQuery(sql); if(parameters!=null && parameters.size()>0){ for (int i = 0; i < parameters.size(); i++){ query.setParameter(i, parameters.get(i)); } } return query.list(); } }); return list; }
5.delete(entry); 按照对象删除,
6.findByCriteria(criteria) ;通过对象查询;
public List<CmsArticle> findByProgramId(String oid,boolean ispage) { DetachedCriteria criteria=DetachedCriteria.forClass(CmsArticle.class); criteria.add(Restrictions.eq("programId", oid)); criteria.add(Restrictions.eq("delFlag", 0)); criteria.addOrder(Order.desc("sortNo")); if(ispage){ return(List<CmsArticle>) this.hibernateTemplate.findByCriteria(criteria,0,5); }else{ return(List<CmsArticle>) this.hibernateTemplate.findByCriteria(criteria); } }
总结:
刚学习时,只掌握一些基本的方法,能够实现基本的功能。具体的使用待续.......