public class GoodsDaoImpl extends HibernateDaoSupport implements GoodsDao {
@Override
public void update(Object obj) {
super.getHibernateTemplate().saveOrUpdate(obj);
}
@Override
public void delete(Object obj) {
super.getHibernateTemplate().delete(obj);
}
@Override
public List gets() {
return super.getHibernateTemplate().find(" from Goods");
}
}
HibernateDaoSupport有一个setSessionFactory,当子类继承它过后,spring才能对子类注入sessionFactory,有了sessionFactory之后就能使用getHibernateTemplate()的各种方法,当然使用这些方法肯定要配合hibernate,毕竟是对数据表映射的对象进行操作。
下面列举一部分
增:
getHibernateTemplate().save(Object obj);
删:
getHibernateTemplate().delete(Object obj);
改:
1)getHibernateTemplate().Update(Object obj);
2)getHibernateTemplate().saveOrUpdate(Object obj);
在修改对象的时候首先要取到数据表映射的实例然后修改某些属性后再存入,不能直接new一个实例存入
第一种方法要求实例是持久化类,第二种就不必
查:
1)getHibernateTemplate().find(" from User");
2)getHibernateTemplate().find("from User u where u.username="+username);
1和2都是一样的
需要该方法返回值是一个list,即使查询到的数据为空,该list也不为null,可以通过它的size是否为0来判断空