使用ssh框架时,DAO继承了HibernateDaoSupport,有方法getHibernateTemplate,其中 this.getHibernateTemplate().update(entity);
其实Hibernate里面封装的这些增删改查操作最终都是要转化成sql语言去操作数据库的。
其中更新sql语句例子如下:
Hibernate:
update
tb_User
set
username=?,
password=?,
isadmin=?,
d_id=?
where
id=?
显然.如果只想update或者delete一条记录的话,要将实体对象的id主键设置成那条记录的id,这样才能保证删除的是一条且指定的记录。
在自己的项目中,我是使用jsp页面的hidden传入id。也可以使用 user.setId(?);
在增、删、改前,建议先查一下记录是否存在,然后再做相应的操作,比如,我现在要保存一条记录,首先我可以先判断这条记录是否存在,若存在,我就直接更新(记得设置id的值),若不存在,我就直接保存。