锘??xml version="1.0" encoding="utf-8" standalone="yes"?>在线亚洲高清揄拍自拍一品区,337P日本欧洲亚洲大胆艺术图,一区二区三区亚洲http://www.tkk7.com/balajinima/category/38895.htmlzh-cnWed, 08 Apr 2009 15:48:18 GMTWed, 08 Apr 2009 15:48:18 GMT60ibatis鍔ㄦ乵apped Statement 閰嶇疆璇﹁Вhttp://www.tkk7.com/balajinima/articles/261859.html鏉庝簯娉?/dc:creator>鏉庝簯娉?/author>Wed, 25 Mar 2009 06:41:00 GMThttp://www.tkk7.com/balajinima/articles/261859.htmlhttp://www.tkk7.com/balajinima/comments/261859.htmlhttp://www.tkk7.com/balajinima/articles/261859.html#Feedback0http://www.tkk7.com/balajinima/comments/commentRss/261859.htmlhttp://www.tkk7.com/balajinima/services/trackbacks/261859.html

聽鍔ㄦ?Mapped Statement
鐩存帴浣跨敤 JDBC 涓涓潪甯告櫘閬嶇殑闂鏄姩鎬?SQL銆備嬌鐢ㄥ弬鏁板箋佸弬鏁版湰韜拰鏁版嵁鍒楅兘
鏄姩鎬佺殑 SQL錛岄氬父闈炲父鍥伴毦銆傚吀鍨嬬殑瑙e喅鏂規硶鏄紝浣跨敤涓緋誨垪 if-else 鏉′歡璇彞鍜屼竴榪炰覆
璁ㄥ帉鐨勫瓧絎︿覆榪炴帴銆傚浜庤繖涓棶棰橈紝SQL Map API浣跨敤鍜?mapped statement闈炲父鐩鎬技鐨勭粨鏋勶紝
鎻愪緵浜嗚緝涓轟紭闆呯殑鏂規硶銆傝繖閲屾槸涓涓畝鍗曠殑渚嬪瓙錛?
<select id="dynamicGetAccountList"
cacheModel="account-cache"
resultMap="account-result" >
select * from ACCOUNT
<isGreaterThan prepend="and" property="id" compareValue="0">
where ACC_ID = #id#
</isGreaterThan>
order by ACC_LAST_NAME
</select>

涓婇潰鐨勪緥瀛愪腑錛屾牴鎹弬鏁?bean鈥渋d鈥濆睘鎬х殑涓嶅悓鎯呭喌錛屽彲鍒涘緩涓や釜鍙兘鐨勮鍙ャ傚鏋滃弬
鏁扳渋d鈥濆ぇ浜?0錛屽皢鍒涘緩涓嬮潰鐨勮鍙ワ細
select * from ACCOUNT where ACC_ID = ?
鎴栬咃紝濡傛灉鈥渋d鈥濆弬鏁板皬浜庣瓑浜?0錛屽皢鍒涘緩涓嬮潰鐨勮鍙ワ細
select * from ACCOUNT
鍦ㄦ洿澶嶆潅鐨勪緥瀛愪腑錛屽姩鎬?Mapped Statement 鐨勭敤澶勬洿鏄庢樉銆傚涓嬮潰姣旇緝澶嶆潅鐨勪緥瀛愶細
<statement id="dynamicGetAccountList" resultMap="account-result" >

select * from ACCOUNT
<dynamic prepend="WHERE">
<isNotNull prepend="AND" property="firstName">
(ACC_FIRST_NAME = #firstName#
<isNotNull prepend="OR" property="lastName">
ACC_LAST_NAME = #lastName#
</isNotNull>
)
</isNotNull>
<isNotNull prepend="AND" property="emailAddress">
ACC_EMAIL like #emailAddress#
</isNotNull>
<isGreaterThan prepend="AND" property="id" compareValue="0">
ACC_ID = #id#
</isGreaterThan>
</dynamic>
order by ACC_LAST_NAME

</statement>
鏍規嵁涓嶅悓鐨勬潯浠訛紝涓婇潰鍔ㄦ佺殑璇彞鍙互浜х敓 16 鏉′笉鍚岀殑鏌ヨ璇彞銆備嬌鐢?if-else 緇撴瀯鍜?br />瀛楃涓詫紝浼氫駭鐢熶笂鐧捐寰堜貢鐨勪唬鐮併?
鑰屼嬌鐢ㄥ姩鎬?Statement錛屽拰鍦?SQL 鐨勫姩鎬侀儴浣嶅懆鍥存彃鍏ユ潯浠舵爣絳句竴鏍峰鏄撱備緥濡傦細
<statement id="someName" resultMap="account-result" >
select * from ACCOUNT
<dynamic prepend="where">
<isGreaterThan prepend="and" property="id" compareValue="0">
ACC_ID = #id#
</isGreaterThan>
<isNotNull prepend=鈥漚nd" property="lastName">
ACC_LAST_NAME = #lastName#
</isNotNull>
</dynamic>
order by ACC_LAST_NAME
</statement>

涓婇潰鐨勪緥瀛愪腑錛?lt;dynamic>鍏冪礌鍒掑垎鍑篠QL 璇彞鐨勫姩鎬侀儴鍒嗐傚姩鎬侀儴鍒嗗彲浠ュ寘鍚換鎰忓
鐨勬潯浠舵爣絳懼厓绱狅紝鏉′歡鏍囩鍐沖畾鏄惁鍦ㄨ鍙ヤ腑鍖呭惈鍏朵腑鐨?SQL 浠g爜銆傛墍鏈夌殑鏉′歡鏍囩鍏冪礌
灝嗘牴鎹紶緇欏姩鎬佹煡璇?Statement 鐨勫弬鏁板璞$殑鎯呭喌鏉ュ伐浣溿?lt;dynamic>鍏冪礌鍜屾潯浠跺厓绱犻兘鏈?br />鈥減repend鈥濆睘鎬э紝瀹冩槸鍔ㄦ?SQL 浠g爜鐨勪竴閮ㄥ垎錛屽湪蹇呰鎯呭喌涓嬶紝鍙互琚埗鍏冪礌鐨勨減repend鈥?br />灞炴ц鐩栥備笂闈㈢殑渚嬪瓙涓紝prepend灞炴р渨here鈥濆皢瑕嗙洊絎竴涓負鈥滅湡鈥濈殑鏉′歡鍏冪礌銆傝繖瀵?/p>

浜庣‘淇濈敓鎴愭紜殑 SQL 璇彞鏄湁蹇呰鐨勩備緥濡傦紝鍦ㄧ涓涓負鈥滅湡鈥濈殑鏉′歡鍏冪礌涓紝鈥淎ND鈥?br />鏄笉闇瑕佺殑錛屼簨瀹炰笂錛屽姞涓婂畠鑲畾浼氬嚭閿欍備互涓嬪皬鑺傝璁轟笉鍚岀殑鏉′歡鍏冪礌錛屽寘鎷簩鍏冩潯浠跺厓
绱狅紝涓鍏冩潯浠跺厓绱犲拰鍏朵粬鍔ㄦ佸厓绱犮?
浜屽厓鏉′歡鍏冪礌
浜屽厓鏉′歡鍏冪礌灝嗕竴涓睘鎬у煎拰涓涓潤鎬佸兼垨鍙︿竴涓睘鎬у兼瘮杈冿紝濡傛灉鏉′歡涓衡滅湡鈥濓紝鍏?br />绱犱綋鐨勫唴瀹瑰皢琚寘鎷湪鏌ヨ SQL 璇彞涓偮?浜屽厓鏉′歡鍏冪礌鐨勫睘鎬э細
prepend聽 錛?鍙瑕嗙洊鐨?SQL 璇彞緇勬垚閮ㄥ垎錛屾坊鍔犲湪璇彞鐨勫墠闈紙鍙夛級
property聽 錛?琚瘮杈冪殑灞炴э紙蹇呴夛級
compareProperty聽 錛嵚?鍙︿竴涓敤浜庡拰鍓嶈呮瘮杈冪殑灞炴э紙蹇呴夋垨閫夋嫨 compareValue錛?
compareValue聽 錛嵚?鐢ㄤ簬姣旇緝鐨勫鹼紙蹇呴夋垨閫夋嫨 compareProperty錛?
姣旇緝灞炴у煎拰闈欐佸兼垨鍙︿竴涓睘鎬у兼槸鍚︾浉絳夈?
<isEqual>
姣旇緝灞炴у煎拰闈欐佸兼垨鍙︿竴涓睘鎬у兼槸鍚︿笉鐩哥瓑銆?
<isNotEqual>

姣旇緝灞炴у兼槸鍚﹀ぇ浜庨潤鎬佸兼垨鍙︿竴涓睘鎬у箋?
<isGreaterThan>
姣旇緝灞炴у兼槸鍚﹀ぇ浜庣瓑浜庨潤鎬佸兼垨鍙︿竴涓睘鎬у箋?
<isGreaterEqual>
姣旇緝灞炴у兼槸鍚﹀皬浜庨潤鎬佸兼垨鍙︿竴涓睘鎬у箋?
<isLessThan>
姣旇緝灞炴у兼槸鍚﹀皬浜庣瓑浜庨潤鎬佸兼垨鍙︿竴涓睘鎬у箋?
<isLessEqual>
渚嬪瓙錛?
<isLessEqual prepend=鈥滱ND鈥?property=鈥漚ge鈥?compareValue=鈥?8鈥?gt;
ADOLESCENT = 鈥楾RUE鈥?
</isLessEqual>

涓鍏冩潯浠跺厓绱?
涓鍏冩潯浠跺厓绱犳鏌ュ睘鎬х殑鐘舵佹槸鍚︾鍚堢壒瀹氱殑鏉′歡銆偮?涓鍏冩潯浠跺厓绱犵殑灞炴э細
prepend聽 錛?鍙瑕嗙洊鐨?SQL 璇彞緇勬垚閮ㄥ垎錛屾坊鍔犲湪璇彞鐨勫墠闈紙鍙夛級
property聽 錛?琚瘮杈冪殑灞炴э紙蹇呴夛級

媯鏌ユ槸鍚﹀瓨鍦ㄨ灞炴э紙瀛樺湪 parameter bean 鐨勫睘鎬э級銆?
<isPropertyAvailable>
媯鏌ユ槸鍚︿笉瀛樺湪璇ュ睘鎬э紙涓嶅瓨鍦?parameter bean 鐨勫睘鎬э級銆?
<isNotPropertyAvailable>
媯鏌ュ睘鎬ф槸鍚︿負 null銆?
<isNull>
媯鏌ュ睘鎬ф槸鍚︿笉涓?null銆?
<isNotNull>
媯鏌?Collection.size()鐨勫鹼紝灞炴х殑 String 鎴?String.valueOf()鍊?
<isEmpty>
鏄惁涓?null鎴栫┖錛堚溾濇垨size() < 1錛夈?
媯鏌?Collection.size()鐨勫鹼紝灞炴х殑 String 鎴?String.valueOf()鍊?
<isNotEmpty>
鏄惁涓嶄負 null 鎴栦笉涓虹┖錛堚溾濇垨 size() > 0錛夈?
渚嬪瓙錛?
<isNotEmpty prepend=鈥滱ND鈥?property=鈥漟irstName鈥?>
FIRST_NAME=#firstName#
</isNotEmpty>


鍏朵粬鍏冪礌聽 Parameter Present錛氳繖浜涘厓绱犳鏌ュ弬鏁板璞℃槸鍚﹀瓨鍦ㄣ?
Parameter Present鐨勫睘鎬э細
prepend聽 錛?鍙瑕嗙洊鐨?SQL 璇彞緇勬垚閮ㄥ垎錛屾坊鍔犲湪璇彞鐨勫墠闈紙鍙夛級
媯鏌ユ槸鍚﹀瓨鍦ㄥ弬鏁板璞★紙涓嶄負 null錛夈?
<isParameterPresent>
媯鏌ユ槸鍚︿笉瀛樺湪鍙傛暟瀵硅薄錛堝弬鏁板璞′負 null錛夈?
<isNotParameterPresent>
渚嬪瓙錛?
<isNotParameterPresent prepend=鈥滱ND鈥?gt;
EMPLOYEE_TYPE = 鈥楧EFAULT鈥?
</isNotParameterPresent>
聽 Iterate錛氳繖灞炴ч亶鍘嗘暣涓泦鍚堬紝騫朵負 List 闆嗗悎涓殑鍏冪礌閲嶅鍏冪礌浣撶殑鍐呭銆?
Iterate 鐨勫睘鎬э細
prepend聽 錛?鍙瑕嗙洊鐨?SQL 璇彞緇勬垚閮ㄥ垎錛屾坊鍔犲湪璇彞鐨勫墠闈紙鍙夛級
property聽 錛?綾誨瀷涓?java.util.List 鐨勭敤浜庨亶鍘嗙殑鍏冪礌錛堝繀閫夛級
open聽 錛嵚?鏁翠釜閬嶅巻鍐呭浣撳紑濮嬬殑瀛楃涓詫紝鐢ㄤ簬瀹氫箟鎷彿錛堝彲閫夛級
close聽 錛嶆暣涓亶鍘嗗唴瀹逛綋緇撴潫鐨勫瓧絎︿覆錛岀敤浜庡畾涔夋嫭鍙鳳紙鍙夛級
conjunction 錛嵚?姣忔閬嶅巻鍐呭涔嬮棿鐨勫瓧絎︿覆錛岀敤浜庡畾涔?AND 鎴?OR錛堝彲閫夛級
閬嶅巻綾誨瀷涓?java.util.List鐨勫厓绱犮?
<iterate>
渚嬪瓙錛?
<iterate prepend=鈥滱ND鈥?property=鈥漸serNameList鈥?
open=鈥?鈥?close=鈥?鈥?conjunction=鈥漁R鈥?gt;
username=#userNameList[]#
</iterate>


娉ㄦ剰錛氫嬌鐢?lt;iterate>鏃訛紝鍦↙ist鍏冪礌鍚嶅悗闈㈠寘鎷柟鎷彿[]闈炲父閲嶈錛屾柟鎷彿[]灝?br />瀵硅薄鏍囪涓篖ist錛屼互闃茶В鏋愬櫒綆鍗曞湴灝哃ist杈撳嚭鎴怱tring銆?



]]>
iBATIS鑷姩鐢熸垚涓婚敭(oracle,sqlserver,mysql)http://www.tkk7.com/balajinima/articles/250514.html鏉庝簯娉?/dc:creator>鏉庝簯娉?/author>Thu, 08 Jan 2009 09:19:00 GMThttp://www.tkk7.com/balajinima/articles/250514.htmlhttp://www.tkk7.com/balajinima/comments/250514.htmlhttp://www.tkk7.com/balajinima/articles/250514.html#Feedback0http://www.tkk7.com/balajinima/comments/commentRss/250514.htmlhttp://www.tkk7.com/balajinima/services/trackbacks/250514.html


鎴戜滑鍦ㄦ暟鎹簱鎻掑叆涓鏉℃暟鎹殑鏃跺欙紝緇忓父鏄渶瑕佽繑鍥炴彃鍏ヨ繖鏉℃暟鎹殑涓婚敭銆備絾鏄暟鎹簱渚涘簲鍟嗕箣闂寸敓鎴愪富閿殑鏂瑰紡閮戒笉涓鏍楓?br />鏈変簺鏄鍏堢敓鎴?pre-generate)涓婚敭鐨勶紝濡侽racle鍜孭ostgreSQL錛涙湁浜涙槸浜嬪悗鐢熸垚(post-generate)涓婚敭鐨勶紝濡侻ySQL鍜孲QL Server銆備絾鏄笉綆℃槸鍝鏂瑰紡錛屾垜浠兘鍙互鐢╥BATIS鐨勮妭鐐規潵鑾峰彇璇彞鎵浜х敓鐨勪富閿?
渚嬪瓙濡備笅錛?/p>

鍋囪鎴戠殑鏁版嵁搴撹〃涓篜RODUCT (PRD_ID,PRD_DESCRIPTION)銆?/p>

xml 浠g爜
<!-- oracle Example -->
<insert id="insertProduct-ORACLE" parameterClass="product">聽聽
聽聽聽 <selectKey resultClass="int" type="pre" keyProperty="id" >聽聽
聽聽聽聽聽聽聽 SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL聽聽
聽聽聽 </selectKey>聽聽
聽聽聽 insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values (#id#,#description#)聽聽
</insert>聽聽
聽聽
<!-- Microsoft SQL Server IDENTITY Column Example -->聽聽
<insert id="insertProduct-MS-SQL" parameterClass="product">聽聽
聽聽聽 insert into PRODUCT (PRD_DESCRIPTION)聽聽
聽聽聽 values (#description#)聽聽
聽聽聽 <selectKey resultClass="int" type="post" keyProperty="id" >聽聽
聽聽聽聽聽聽聽 select @@IDENTITY as value聽聽
聽聽聽 </selectKey>聽聽
</insert>聽聽
聽聽
<!-- MySQL Example -->聽聽
<insert id="insertProduct-MYSQL" parameterClass="product">聽聽
聽聽聽 insert into PRODUCT (PRD_DESCRIPTION)聽聽
聽聽聽 values (#description#)聽聽
聽聽聽 <selectKey resultClass="int" type="post" keyProperty="id" >聽聽
聽聽聽聽聽聽聽 select LAST_INSERT_ID() as value聽聽
聽聽聽 </selectKey>聽聽
</insert>聽



]]>
主站蜘蛛池模板: 成人免费a级毛片| 97国产在线公开免费观看| 久久国内免费视频| 亚洲码在线中文在线观看| 一级毛片免费观看不卡的| 亚洲成AV人片一区二区密柚| 麻豆精品成人免费国产片| 亚洲av永久无码精品古装片| 一级特黄aa毛片免费观看| 亚洲日产2021三区在线 | 222www在线观看免费| 亚洲欧洲日韩不卡| 亚洲天堂中文字幕在线| 视频一区二区三区免费观看| 亚洲真人日本在线| 暖暖日本免费中文字幕| 亚洲综合免费视频| 免费黄色小视频网站| 美女被羞羞网站免费下载| 日韩精品亚洲aⅴ在线影院| 国产免费一区二区三区不卡 | 亚洲五月六月丁香激情| 免费精品国偷自产在线在线 | 一本岛v免费不卡一二三区| 精品亚洲永久免费精品| 精品国产污污免费网站aⅴ| 亚洲色成人四虎在线观看| 亚洲精品动漫人成3d在线| 日韩人妻一区二区三区免费| 中中文字幕亚洲无线码| 亚洲国产精品无码久久九九| 日韩电影免费观看| 亚洲成av人在线观看网站| 亚洲乱码一区二区三区在线观看| 三年片在线观看免费观看大全动漫| 亚洲另类视频在线观看| 国产成人亚洲影院在线观看| 国产精品视频免费观看| 曰批免费视频播放在线看片二| 久热综合在线亚洲精品| 永久免费看bbb|