Spring saveOrUpdateAll方法:儲存或更新實體物件集合

2020-07-16 10:05:01
該方法用於儲存或更新使用者實體物件的集合,它能根據實體物件的狀態判斷集合中的每個物件是應該執行儲存操作還是更新操作。

語法:

saveOrUpdateAll(Collection entities)

引數說明:
  • entities:要儲存或更新的實體物件的集合。

範例1

建立多個使用者,並新增到一個集合物件中,然後把該集合中的所有實體物件儲存到資料庫中,關鍵程式碼如下:
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 user1 = new TbUser("使用者1","男",27);  //新增資料
  TbUser user2 = new TbUser("使用者2","男",27);
  TbUser user3 = new TbUser("使用者3","男",27);
  List list = new ArrayList();
  list.add(user1);
  list.add(user2);
  list.add(user3);
  htm.saveOrUpdateAll(list);  //執行儲存操作
}

範例2

裝載使用者表的所有使用者實體物件到集合中,然後修改部分或全部實體物件,通過 saveOrUpdateAll 方法更新集合中的所有實體物件,關鍵程式碼如下:
public static void main(String[] args){
  ApplicationContext context = new ClassPathXmlApplicationContext("cfg/XMLConfig.xml");  //載入組態檔
  Dao dao = (Dao)context.getBean("dao");  //建立Dao
  HibernateTemplate htm = dao.getHibernateTemplate();
  List list = htm.loadAll(TbUser.class);  //……省略修改集合中的實體物件的程式碼
  htm.saveOrUpdateAll(list);  //執行修改操作
}