ibatis的几种resultClass(转)

12年前

项目都快做完了,还不知道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>