1、Dao创建并继承HibernateDaoSupport类
2、把sessionFactory注入Dao
<bean name="userDao" class="club.ityuchao.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
3、书写dao代码
Hql:
public class UserDaoImpl extends HibernateDaoSupport implements UserDao {
public User getBuyUserCode(final String userCode) {
return getHibernateTemplate().execute(new HibernateCallback<User>() {
@Override
public User doInHibernate(Session session) throws HibernateException {
String hql = "from User where codeName=?";
Query query = session.createQuery(hql);
query.setParameter(0, userCode);
User user = (User)query.uniqueResult();
return user;
}
});
}
}
criteria:
public class UserDaoImpl extends HibernateDaoSupport implements UserDao {
public User getBuyUserCode(final String codeName) {
DetachedCriteria dc = DetachedCriteria.forClass(User.class);
dc.add(Restrictions.eq("codeName", codeName));
List<User> list = (List<User>) getHibernateTemplate().findByCriteria(dc);
if(list != null && list.size() > 0) {
return list.get(0);
}else {
return null;
}
}
}