锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产成人一区二区精品区,亚洲国产AV无码一区二区三区 ,国产国拍亚洲精品mv在线观看 http://www.tkk7.com/titanaly/category/39908.htmlzh-cnThu, 16 Jul 2009 11:55:36 GMTThu, 16 Jul 2009 11:55:36 GMT60[杞琞鍦℉ibernate涓鐞嗘壒閲忔洿鏂板拰鎵歸噺鍒犻櫎 hibernate batch update and inserthttp://www.tkk7.com/titanaly/archive/2009/06/24/283935.html涓嶉珮鍏?/dc:creator>涓嶉珮鍏?/author>Wed, 24 Jun 2009 06:45:00 GMThttp://www.tkk7.com/titanaly/archive/2009/06/24/283935.htmlhttp://www.tkk7.com/titanaly/comments/283935.htmlhttp://www.tkk7.com/titanaly/archive/2009/06/24/283935.html#Feedback0http://www.tkk7.com/titanaly/comments/commentRss/283935.htmlhttp://www.tkk7.com/titanaly/services/trackbacks/283935.htmlhttp://java.ccidnet.com/art/3539/20070802/1164285_1.html
鍦℉ibernate涓鐞嗘壒閲忔洿鏂板拰鎵歸噺鍒犻櫎
鍙戝竷鏃墮棿錛?007.08.03 06:06     鏉ユ簮錛氳禌榪綉    浣滆咃細(xì)dxaw

鎵歸噺鏇存柊鏄寚鍦ㄤ竴涓簨鍔′腑鏇存柊澶ф壒閲忔暟鎹紝鎵歸噺鍒犻櫎鏄寚鍦ㄤ竴涓簨鍔′腑鍒犻櫎澶ф壒閲忔暟鎹備互涓嬬▼搴忕洿鎺ラ氳繃Hibernate API鎵歸噺鏇存柊CUSTOMERS琛ㄤ腑騫撮緞澶т簬闆剁殑鎵鏈夎褰曠殑AGE瀛楁錛?

tx = session.beginTransaction();
Iterator customers=session.find("from Customer c where c.age>0").iterator();
while(customers.hasNext()){
Customer customer=(Customer)customers.next();
customer.setAge(customer.getAge()+1);
}

tx.commit();
session.close();

濡傛灉CUSTOMERS琛ㄤ腑鏈?涓囨潯騫撮緞澶т簬闆剁殑璁板綍錛岄偅涔圫ession鐨刦ind()鏂規(guī)硶浼?xì)涓涓嬪瓙鍔犺澆1涓囦釜Customer瀵硅薄鍒板唴瀛樸傚綋鎵цtx.commit()鏂規(guī)硶鏃訛紝浼?xì)娓呯悊缂撳瓨锛孒ibernate鎵ц1涓囨潯鏇存柊CUSTOMERS琛ㄧ殑update璇彞錛?

update CUSTOMERS set AGE=? …. where ID=i;
update CUSTOMERS set AGE=? …. where ID=j;
……
update CUSTOMERS set AGE=? …. where ID=k;

浠ヤ笂鎵歸噺鏇存柊鏂瑰紡鏈変袱涓己鐐癸細(xì)

(1) 鍗犵敤澶ч噺鍐呭瓨錛屽繀欏繪妸1涓囦釜Customer瀵硅薄鍏堝姞杞藉埌鍐呭瓨錛岀劧鍚庝竴涓鏇存柊瀹冧滑銆?

(2) 鎵ц鐨剈pdate璇彞鐨勬暟鐩お澶氾紝姣忎釜update璇彞鍙兘鏇存柊涓涓狢ustomer瀵硅薄錛屽繀欏婚氳繃1涓囨潯update璇彞鎵嶈兘鏇存柊涓涓囦釜Customer瀵硅薄錛岄綣佺殑璁塊棶鏁版嵁搴擄紝浼?xì)澶уぇ闄嶄綆搴旂敤鐨勬ц兘銆?

涓轟簡榪呴熼噴鏀?涓囦釜Customer瀵硅薄鍗犵敤鐨勫唴瀛橈紝鍙互鍦ㄦ洿鏂版瘡涓狢ustomer瀵硅薄鍚庯紝灝辮皟鐢⊿ession鐨別vict()鏂規(guī)硶绔嬪嵆閲婃斁瀹冪殑鍐呭瓨錛?

tx = session.beginTransaction();
Iterator customers=session.find("from Customer c where c.age>0").iterator();
while(customers.hasNext()){
Customer customer=(Customer)customers.next();
customer.setAge(customer.getAge()+1);
session.flush();
session.evict(customer);
}

tx.commit();
session.close();

鍦ㄤ互涓婄▼搴忎腑錛屼慨鏀逛簡涓涓狢ustomer瀵硅薄鐨刟ge灞炴у悗錛屽氨绔嬪嵆璋冪敤Session鐨?flush()鏂規(guī)硶鍜宔vict()鏂規(guī)硶錛宖lush()鏂規(guī)硶浣縃ibernate绔嬪埢鏍規(guī)嵁榪欎釜Customer瀵硅薄鐨勭姸鎬佸彉鍖栧悓姝ユ洿鏂版暟鎹簱錛屼粠鑰岀珛鍗蟲墽琛岀浉鍏崇殑update璇彞錛沞vict()鏂規(guī)硶鐢ㄤ簬鎶婅繖涓狢ustomer瀵硅薄浠庣紦瀛樹腑娓呴櫎鍑哄幓錛屼粠鑰屽強(qiáng)鏃墮噴鏀懼畠鍗犵敤鐨勫唴瀛樸?

浣唀vict()鏂規(guī)硶鍙兘紼嶅井鎻愰珮鎵歸噺鎿嶄綔鐨勬ц兘錛屽洜涓轟笉綆℃湁娌℃湁浣跨敤evict()鏂規(guī)硶錛孒ibernate閮藉繀欏繪墽琛?涓囨潯update璇彞錛屾墠鑳芥洿鏂?涓囦釜Customer瀵硅薄錛岃繖鏄獎鍝嶆壒閲忔搷浣滄ц兘鐨勯噸瑕佸洜绱犮傚亣濡侶ibernate鑳界洿鎺ユ墽琛屽涓婼QL璇彞錛?

update CUSTOMERS set AGE=AGE+1 where AGE>0;

閭d箞浠ヤ笂涓鏉pdate璇彞灝辮兘鏇存柊CUSTOMERS琛ㄤ腑鐨?涓囨潯璁板綍銆備絾鏄疕ibernate騫舵病鏈夌洿鎺ユ彁渚涙墽琛岃繖縐島pdate璇彞鐨勬帴鍙c傚簲鐢ㄧ▼搴忓繀欏葷粫榪嘓ibernate API錛岀洿鎺ラ氳繃JDBC API鏉ユ墽琛岃SQL璇彞錛?

tx = session.beginTransaction();

Connection con=session.connection();
PreparedStatement stmt=con.prepareStatement("update CUSTOMERS set AGE=AGE+1 "
+"where AGE>0 ");
stmt.executeUpdate();

tx.commit();

浠ヤ笂紼嬪簭婕旂ず浜嗙粫榪嘓ibernate API錛岀洿鎺ラ氳繃JDBC API璁塊棶鏁版嵁搴撶殑榪囩▼銆傚簲鐢ㄧ▼搴忛氳繃Session鐨刢onnection()鏂規(guī)硶鑾峰緱璇ession浣跨敤鐨勬暟鎹簱榪炴帴錛岀劧鍚庨氳繃瀹冨垱寤?PreparedStatement瀵硅薄騫舵墽琛孲QL璇彞銆傚煎緱娉ㄦ剰鐨勬槸錛屽簲鐢ㄧ▼搴忎粛鐒墮氳繃Hibernate鐨凾ransaction鎺ュ彛鏉ュ0鏄庝簨鍔¤竟鐣屻?

濡傛灉搴曞眰鏁版嵁搴擄紙濡侽racle錛夋敮鎸佸瓨鍌ㄨ繃紼嬶紝涔熷彲浠ラ氳繃瀛樺偍榪囩▼鏉ユ墽琛屾壒閲忔洿鏂般傚瓨鍌ㄨ繃紼嬬洿鎺ュ湪鏁版嵁搴撲腑榪愯錛岄熷害鏇村姞蹇傚湪Oracle鏁版嵁搴撲腑鍙互瀹氫箟涓涓悕涓篵atchUpdateCustomer()鐨勫瓨鍌ㄨ繃紼嬶紝浠g爜濡備笅錛?

create or replace procedure batchUpdateCustomer(p_age in number) as
begin
update CUSTOMERS set AGE=AGE+1 where AGE>p_age;
end;

浠ヤ笂瀛樺偍榪囩▼鏈変竴涓弬鏁皃_age錛屼唬琛ㄥ鎴風(fēng)殑騫撮緞錛屽簲鐢ㄧ▼搴忓彲鎸夌収浠ヤ笅鏂瑰紡璋冪敤瀛樺偍榪囩▼錛?

tx = session.beginTransaction();
Connection con=session.connection();

String procedure = "{call batchUpdateCustomer(?) }";
CallableStatement cstmt = con.prepareCall(procedure);
cstmt.setInt(1,0); //鎶婂勾榫勫弬鏁拌涓?
cstmt.executeUpdate();
tx.commit();

浠庝笂闈㈢▼搴忕湅鍑猴紝搴旂敤紼嬪簭涔熷繀欏葷粫榪嘓ibernate API錛岀洿鎺ラ氳繃JDBC API鏉ヨ皟鐢ㄥ瓨鍌ㄨ繃紼嬨?

Session鐨勫悇縐嶉噸杞藉艦寮忕殑update()鏂規(guī)硶閮戒竴嬈″彧鑳芥洿鏂頒竴涓璞★紝鑰宒elete()鏂規(guī)硶鐨勬湁浜涢噸杞藉艦寮忓厑璁鎬互HQL璇彞浣滀負(fù)鍙傛暟錛屼緥濡傦細(xì)

session.delete("from Customer c where c.age>0");

濡傛灉CUSTOMERS琛ㄤ腑鏈?涓囨潯騫撮緞澶т簬闆剁殑璁板綍錛岄偅涔堜互涓婁唬鐮佽兘鍒犻櫎涓涓囨潯璁板綍銆備絾鏄疭ession鐨刣elete()鏂規(guī)硶騫舵病鏈夋墽琛屼互涓媎elete璇彞錛?

delete from CUSTOMERS where AGE>0;

Session鐨刣elete()鏂規(guī)硶鍏堥氳繃浠ヤ笅select璇彞鎶?涓囦釜Customer瀵硅薄鍔犺澆鍒板唴瀛樹腑錛?

select * from CUSTOMERS where AGE>0;

鎺ヤ笅鏉ユ墽琛屼竴涓囨潯delete璇彞錛岄愪釜鍒犻櫎Customer瀵硅薄錛?

delete from CUSTOMERS where ID=i;
delete from CUSTOMERS where ID=j;
……
delete from CUSTOMERS where ID=k;

鐢辨鍙錛岀洿鎺ラ氳繃Hibernate API榪涜鎵歸噺鏇存柊鍜屾壒閲忓垹闄ら兘涓嶅煎緱鎺ㄨ崘銆傝岀洿鎺ラ氳繃JDBC API鎵ц鐩稿叧鐨凷QL璇彞鎴栬皟鐢ㄧ浉鍏崇殑瀛樺偍榪囩▼錛屾槸鎵歸噺鏇存柊鍜屾壒閲忓垹闄ょ殑鏈浣蟲柟寮忥紝榪欎袱縐嶆柟寮忛兘鏈変互涓嬩紭鐐癸細(xì)

(1) 鏃犻渶鎶婃暟鎹簱涓殑澶ф壒閲忔暟鎹厛鍔犺澆鍒板唴瀛樹腑錛岀劧鍚庨愪釜鏇存柊鎴栦慨鏀瑰畠浠紝鍥犳涓嶄細(xì)娑堣楀ぇ閲忓唴瀛樸?

(2) 鑳藉湪涓鏉QL璇彞涓洿鏂版垨鍒犻櫎澶ф壒閲忕殑鏁版嵁銆?

]]>
主站蜘蛛池模板: 久久国产免费观看精品| 成人无码精品1区2区3区免费看| 日韩免费人妻AV无码专区蜜桃| 久久亚洲高清综合| 久久久久国色AV免费观看| 亚洲日本va午夜中文字幕久久| 免费夜色污私人影院网站电影| 日韩成人在线免费视频| 亚洲成av人片在线天堂无| 四虎影永久在线高清免费| 成人午夜影视全部免费看| 国产亚洲精品资在线| 国产一级片免费看| 亚洲毛片一级带毛片基地| 美女被免费喷白浆视频| 精品国产日韩久久亚洲| 国产精品视_精品国产免费| 九九免费精品视频在这里| 在线精品亚洲一区二区小说| 国偷自产一区二区免费视频| 久久91亚洲精品中文字幕| 91热久久免费精品99| 亚洲va久久久久| 免费中文字幕在线观看| 青青操视频在线免费观看| 亚洲天堂电影在线观看| 国产真实伦在线视频免费观看| 黄色网页免费观看| 亚洲成A人片777777| 成视频年人黄网站免费视频| 日韩亚洲综合精品国产| 久久精品国产亚洲AV网站| 午夜国产精品免费观看| 色老头综合免费视频| 久久久久亚洲AV片无码下载蜜桃| 精品国产一区二区三区免费看| 国产综合免费精品久久久| 亚洲黄色在线网站| 亚洲国产一级在线观看| 日韩精品免费一级视频| eeuss免费天堂影院|