锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
聽
1.鏌ヨ
(1)鑱斿悎鏌ヨ:浣跨敤涓涓猻ql鏌ヨ
(2)瀛愭煡璇?瀵逛簬姣忎釜琛ㄤ嬌鐢ㄤ竴涓猻ql鏌ヨ
鍩烘湰鐨勫師鍒欐槸錛屽鏋滄偍闇瑕佽闂浉鍏崇殑瀵硅薄錛屽垯浣跨敤鑱斿悎鏌ヨ銆傚惁鍒欙紝浣跨敤寤惰繜鍔犺澆鍜屽瓧鑺傜爜澧炲己閫夐」鐨勫瓙鏌ヨ銆?/p>
聽
2.閰嶇疆鏂囦歡鍒嗘瀽
聽<resultMap id="UserResult" class="User">
聽聽<result property="id" column="id"/>
聽聽<result property="name" column="name"/>
聽聽<result property="sex" column="sex"/>
聽聽<result property="addresses" column="id" select="selectAddressByUserId"/>
聽</resultMap>
聽
浣跨敤鐨刾reparedstatement鏉ュ鐞唖ql錛屽緱鍒拌褰曪紝濡備綍璁劇疆瀵硅薄
聽a. user.setId(id)聽 -->id:聽 column
聽b. 濡傛灉鏈塻elect灞炴э紝鍒檆olumn 浣滀負鏌ヨ鏉′歡鎻掑叆
聽
聽
聽
聽
3.闆嗗悎
璁㏒QL Map鏋舵瀯瑁呭叆澶嶆潅綾誨瀷闆嗗悎錛圠ist錛夌殑涓氬姟瀵硅薄鐨勫睘鎬у繀欏繪槸java.util.List鎴杍ava.util.Collection綾誨瀷銆偮?br />涓轟粈涔坰et錛宧ashset鎶ラ敊錛燂紵錛?/font>
聽
4.
閲嶈鎻愮ず錛佺洰鍓峉QL Map鏋舵瀯鏃犳硶鑷姩瑙e喅resultMap涔嬮棿鐨勫弻鍚戝叧緋匯傝繖鍦ㄥ鐞嗏滅埗/瀛愨?鍙屽悜鍏崇郴鐨剅esultMap鏃跺挨鍏惰娉ㄦ剰銆?br />涓涓畝鍗曠殑鍔炴硶鏄紝涓哄叾涓竴縐嶆儏鍐靛啀瀹氫箟涓涓笉瑁呭叆鐖跺璞$殑resultMap錛堝弽涔嬩害鐒訛級銆?/p>
聽
聽
渚嬪瓙2錛氭煡璇㈡垚瀵硅薄錛坰elect錛?br />sqlMap.startTransaction();
Integer key = new Integer (1);
Product product = (Product)sqlMap.queryForObject (鈥済etProduct鈥? key);
sqlMap.commitTransaction();
渚嬪瓙3錛氱敤棰勮祴鍊肩殑緇撴灉瀵硅薄鏌ヨ鎴愬璞★紙select錛?br />sqlMap.startTransaction();
Customer customer = new Customer();
sqlMap.queryForObject(鈥済etCust鈥? parameterObject, customer);
sqlMap.queryForObject(鈥済etAddr鈥? parameterObject, customer);
sqlMap.commitTransaction();
渚嬪瓙4錛氭煡璇㈡垚瀵硅薄List錛坰elect錛?br />sqlMap.startTransaction();
List list = sqlMap.queryForList (鈥済etProductList鈥? null);
sqlMap.commitTransaction();
渚嬪瓙5錛氳嚜鍔ㄦ彁浜?br />//褰撴病璋冪敤startTransaction鐨勬儏鍐典笅錛宻tatements浼氳嚜鍔ㄦ彁浜ゃ?br />//娌″繀瑕乧ommit/rollback銆?br />int rows = sqlMap.insert (鈥渋nsertProduct鈥? product);
渚嬪瓙6錛氱敤緇撴灉闆嗚竟鐣屾煡璇㈡垚瀵硅薄List錛坰elect錛?br />sqlMap.startTransaction();
List list = sqlMap.queryForList (鈥済etProductList鈥? null, 0, 40);
sqlMap.commitTransaction();
渚嬪瓙7錛氱敤RowHandler鎵ц鏌ヨ錛坰elect錛?br />public class MyRowHandler implements RowHandler {
public void handleRow (Object object, List list) throws SQLException {
Product product = (Product) object;
product.setQuantity (10000);
sqlMap.update (鈥渦pdateProduct鈥? product);
// Optionally you could add the result object to the list.
// The list is returned from the queryForList() method.
}
}
sqlMap.startTransaction();
RowHandler rowHandler = new MyRowHandler();
List list = sqlMap.queryForList (鈥済etProductList鈥? null, rowHandler);
sqlMap.commitTransaction();
渚嬪瓙8錛氭煡璇㈡垚Paginated List錛坰elect錛?br />PaginatedList list =
sqlMap.queryForPaginatedList (鈥済etProductList鈥? null, 10);
list.nextPage();
list.previousPage();
渚嬪瓙9錛氭煡璇㈡垚Map錛坰elect錛?br />sqlMap.startTransaction();
Map map = sqlMap.queryForMap (鈥済etProductList鈥? null, 鈥減roductCode鈥?;
sqlMap.commitTransaction();
Product p = (Product) map.get(鈥淓ST-93鈥?;
聽