ibatis的幾種resultClass(轉)
項目都快做完了,還不知道ibatis的resultClass有多少個類型,呵呵,反正是知道幾個就用幾個,不知道的就使勁往知道的上面去套,最終項目也順利完成,不過語法就不一定完全按照標準的語法走了,以下幾種類型,留作紀念,下次就直接用了。。。
ibatis在編寫sqlmap的查詢時,可以使用多種輸出格式,比如:實體類,hashmap,xml格式。
sqlmap中的hashmap和xml都是內置別名。
1.實體類:
<resultMap id="UserResult" class="User">
<result property="id" column="T_ID"/>
<result property="name" column="T_NAME"/>
<result property="sex" column="T_SEX"/>
<result property="address" column="T_ADDRESS"/>
</resultMap>
<select id="selectAllUser" resultMap="UserResult"> select * from t_user </select>
List list = userdao.selectAllUser(); for(int i=0;i<list.size();i++) { System.out.println(list.get(i)); }
注:當作一個對象使用。
2.hashmap:
<select id="selectAllUser" resultClass="hashmap"> select * from t_user </select>
List list = userdao.selectAllUser();
for(int i=0;i<list.size();i++) {
Map map = (Map)list.get(i);
System.out.print(map.get("id")+" ");
System.out.print(map.get("name")+" ");
System.out.print(map.get("sex")+" ");
System.out.print(map.get("address"));
System.out.println();
}
注:當作一個鍵值對的MAP使用。
3.XML:
<select id="selectXML" resultClass="xml" xmlResultName="log"> select * from t_user </select>
List list = userdao.selectAllUser();
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
XML結果:
< xml version="1.0" encoding="UTF-8" ><log><id>1</id><name>hua</name><sex>1</sex><address>1</address></log> < xml version="1.0" encoding="UTF-8" ><log><id>2</id><name> zhupan </name><sex>2</sex><address>1</address></log> < xml version="1.0" encoding="UTF-8" ><log><id>4</id><name> 4 </name><sex>4</sex><address>1</address></log> < xml version="1.0" encoding="UTF-8" ><log><id>5</id><name> 5 </name><sex>5</sex><address>2</address></log>