该方法可以自动判断是执行实体对象的保存操作还是更新操作。
语法:
saveOrUpdate(Object entity)
参数说明:
entity:要保存的实体对象。
示例1
创建一个新用户实体对象,然后调用 saveOrUpdate 方法执行实体对象的保存操作,关键代码如下:
public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("cfg/XMLConfig.xml"); //加载配置文件
Dao dao = (Dao)context.getBean("dao"); //创建Dao
TbUser user = new TbUser();
user.setName("保存的用户");
user.setSex("男");
user.setAge(20);
HibernateTemplate htm = dao.getHibernateTemplate();
htm.saveOrUpdate(user); //执行保存方法
}
示例2
从数据库获取一个用户实体对象,然后调用 saveOrUpdate 方法执行实体对象的更新操作,关键代码如下:
public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("cfg/XMLConfig.xml"); //加载配置文件
Dao dao = (Dao)context.getBean("dao"); //创建Dao
HibernateTemplate htm = dao.getHibernateTemplate();
TbUser user = (TbUser)htm.get(TbUser.class,new Integer(1));
if(user==null)
return;
user.setName("更新的用户");
htm.saveOrUpdate(user); //执行更新方法
}