使用hibernateTemplate模板執行只更新一個欄位的操作
之前做課程設計一直都用這hibernateTemplate模板,感覺的確很省程式碼,但是突然做到一個功能只更新一個欄位。頓時有點懵逼,啥東西都試了,就是不行。百度了一下發現了一個方法,在這裡分享一下。
思路是這樣子的:先根據一個id去查詢全部資訊,然後在set單個欄位進去直接更新
為啥這樣可以實現呢,因為你更新的那個欄位set進去直接更新肯定是更新成功的,但是其他的由於延遲載入,沒有set新資料進去。所以就保持原樣。
上程式碼:
public void updateChooseState(Integer userid, String chooseState) { StuInfo sut = this.hibernateTemplate.get(StuInfo.class, userid);//根據id查詢資訊 sut.setChooseState(chooseState);//只set一個數據而已 this.hibernateTemplate.update(sut);//直接更新 }
最後感嘆一下,模板好是好,但是有時候感覺sql語句會更實在點。可塑性更好。
小白一個,若有不對,望指教。
相關推薦
使用hibernateTemplate模板執行只更新一個欄位的操作
之前做課程設計一直都用這hibernateTemplate模板,感覺的確很省程式碼,但是突然做到一個功能只更新一個欄位。頓時有點懵逼,啥東西都試了,就是不行。百度了一下發現了一個方法,在這裡分享一下。 思路是這樣子的:先根據一個id去查詢全部資訊,然後在set單個欄位進去直
使用hibernate執行原生update更新資料(只更新部分欄位)
事務根據實際情況進行新增,這裡不特殊說明 1、使用update執行更新部分欄位 String sql = " update A set a.grade= :grade,a.gradeType =
mongo之$rename更新一個欄位的名稱(可批量)
$rename操作邏輯執行$unset 老名稱和新的名稱,然後執行 $set新名稱執行。因此,操作可能不保留文件中欄位的順序; 即重新命名的欄位可以在文件內移動。 1、重新命名欄位:一級欄位 格式: db.students.updateMany( {}, { $ren
Thinkphp3.2.3 只修改一個欄位的值
$result = M('Hd')->where("hd_id = '$hd_id'")->setField('hd_like', ‘測試的值’); 成功後,返回值可能為0,所以判斷要用以下方式 if($result !== false){ echo '資料更
mongodb如何實現更新一個欄位的值為另外一個欄位的值?
db.CargoUserProfiles.find().forEach( function(item){ db.CargoUserProfiles.update({"id":item._id},{"$set":{"LastUpdate":item.CreateAt
如何 distinct 只對一個欄位有用,同時查出其他欄位
在使用MySQL時,有時需要查詢出某個欄位不重複的記錄,雖然mysql提供 有distinct這個關鍵字來過濾掉多餘的重複記錄只保留一條,但往往只用它來返回不重複記錄的條數,而不是用它來返回不重記錄的所有值。 distinct只能返回它的目標欄位,而無法返回其它欄位.用distinct不能解決的話,我只有用
hibernate update 只更新部分欄位的3種方法(轉載)
hibernate 中如果直接使用 Session.update(Object o); 會把這個表中的所有欄位更新一遍。 比如: public class Teacher Test { @Test public void update(){ Session session
hibernate update 只更新部分欄位的3種方法
Hibernate 中如果直接使用 Session.update(Object o); 會把這個表中的所有欄位更新一遍。 比如: public class TeacherTest { @Test public void update(){
hibernate中的update方法只更新部分欄位的方法
Hibernate 中如果直接使用 Session.update(Object o); 會把這個表中的所有欄位更新一遍。 比如: ? 1 2 3 4 5 6 7 8 9 10 11 12 public class Teacher
update更新一個欄位的一些資料為同一個值
問題:一個表批量修改部分記錄為同一個值 相關問題:一堆state只允許一個為1,其他全為0。 比如:資料庫score 表只許一條記錄的major的值為123,這一條記錄的id為1,其他的major的值都為bbbb 解決: update score set major
DISTINCT選取多個欄位,只DISTINCT一個欄位的解決辦法
此文是根據原作者所著加上自己的理解總結出來的,如果有什麼問題歡迎各位提出一起交流探討。先貼出原文如下: 某前臺sql語句,簡化後如下 SELECT products_name,products_viewed FROM `products_description` O
儲存過程 ------ 通過一個欄位條件更新另外一個欄位
儲存過程 ------ 通過一個欄位條件更新另外一個欄位 同一表的操作,我當時是用來通過推薦人賬號,更新推薦人id欄位 BEGIN DECLARE t_uid INT(11) DEFAULT 0; DECLARE t_username VARCHAR(255) DEFAULT
oracle寫一個先插入一條資料,在將該資料中一個欄位更新的觸發器的坑
最近剛用使用觸發器,原理上應該是在插入之後再更新,原本以為是以下這種寫法,在網上也找了很多方法,結果說的都不太對.需要更新的欄位根本沒有被更新,我想應該是邏輯上的問題: create or replace trigger UPDATE_REDLIST_TYPE afte
Oracle 將一張表的某些欄位更新到本條記錄的另一個欄位
原因:是因為某張表原來的排序欄位因為並非是專門用來排序的,後來新加了一個專門用來排序的欄位,想把現在的排序欄位內容 copy 的新的欄位 , 但是 一條一條更改 太麻煩了突然想到 oracle 好像支援這樣的寫法 於是就百度了這個函式,先寫在這裡吧 省的以後在忘了。
oracle批量更新一個表中的一個欄位
最近遇到一個sql問題。老大們讓我把一個表中的一列資料做更新。更新的內容和對照表有給提供。後來仔細檢視資料 總結出這樣的sql 語句。 update 更新表 b set(b.需要更新的欄位) = (select a.參考更新欄位 from 對照表 a where a.對照表
oracle 多表關聯更新,需要更新的欄位在另一個表裡(lfn)
update customers a -- 使用別名 set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id) where exists (select
將一張表的欄位根據條件更新到另一張表的一個欄位中去
現有兩張表,一張關鍵詞主表,一張關鍵詞表幅表,主表裡記錄了關鍵詞的ID,Keyword,ClassID,className
mysql 從一個表的一個欄位求和,更新到另外一個表及字串擷取、去重、切分
引子 現有一個需求:一個訂單表,求這個訂單表的訂單數,然後根據id關聯更新到另一個表中,下面說說的做法。 解決方法 首先查出都多少條訂單,並去重一下 SELECT client_id, CO
MySQL將一個欄位中以逗號分隔的取出來形成新的欄位
1例如:要把如圖1的欄位拆分圖2 select account_id, substring_index(substring_index(a.related_shop_ids,',' ,b.help_topic_id+1),',',-1) shopid
ClickHouse一個表字段與另一個表字段匹配與否增加一個欄位標識
A表字段與B表字段匹配與否增加tag===>A表增加一列,與B匹配的(S2)增加列值為1,否則(S1)0 。 SELECT date, ts, pin, ip_country, ip_province, ip_ci