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>