iBATIS 怎么对sql 输出结果的映射
iBATIS 如何对sql 输出结果的映射
如何对输出结果进行映射:
1、将查询结果映射到不同的对象(resultClass的使用)
2、将查询结果集映射到不同的对象(resultMap的基本使用)
3、将查询结果集映射为xml格式的数据
4、将查询结果集的元素转换为Map类型的对象
1、将查询结果映射到不同的对象(resultClass的使用)
2、将查询结果集映射到不同的对象(resultMap的基本使用)
3、将查询结果集映射为xml格式的数据
4、将查询结果集的元素转换为Map类型的对象
如何对输出结果进行映射:
1、将查询结果映射到不同的对象(resultClass的使用)
2、将查询结果集映射到不同的对象(resultMap的基本使用)
3、将查询结果集映射为xml格式的数据
4、将查询结果集的元素转换为Map类型的对象
1、将查询结果映射到不同的对象(resultClass的使用)
<select id="selectUserForOtherObject" resultClass="com.bjsxt.ibatis.OtherObject" parameterClass="int"> select username as prop1, password as prop2 from t_user where id=#value# </select> //查找t_user表,将其结果映射到一个属性名不同的对象中! OtherObject obj = (OtherObject)sqlMapper.queryForObject("selectUserForOtherObject", 1); System.out.println(obj.getProp1()+","+obj.getProp2());
2、将查询结果集映射到不同的对象(resultMap的基本使用)
<resultMap class="com.bjsxt.ibatis.OtherObject" id="ooResult"> <result property="prop1" column="username"/> <result property="prop2" column="password"/> </resultMap> <!-- 如果使用resultMap来定义如何映射,则如下语句不可写成: select username as prop1,password as prop2 .... --> <select id="selectUserForOtherObject2" parameterClass="int" resultMap="ooResult"> select username, password from t_user where id=#value# </select> //查找t_user表,将其结果映射到一个属性名不同的对象中! OtherObject obj = (OtherObject)sqlMapper.queryForObject("selectUserForOtherObject2", 17); System.out.println(obj.getProp1()+","+obj.getProp2());
3、将查询结果集映射为xml格式的数据
<select id="selectXmlData" resultClass="xml" xmlResultName="User" parameterClass="int"> select * from t_user where id=#value# </select> <select id="selectXmlDatas" resultClass="xml" xmlResultName="User"> select * from t_user </select> //查找t_user表,将其结果映射到xml! //返回值是xml形式的字符串 Object obj = (Object)sqlMapper.queryForObject("selectXmlData", 1); System.out.println(obj); //查找t_user表,将其结果映射到xml! List list = (List)sqlMapper.queryForList("selectXmlDatas"); System.out.println(list);
4、将查询结果集的元素转换为Map类型的对象
<!-- resultClass可以定义为java.util.HashMap类型, 将能自动转换 --> <select id="selectMapUsers" resultClass="java.util.HashMap"> select * from t_user </select> List list = (List)sqlMapper.queryForList("selectMapUsers"); System.out.println(list); for (Iterator iter = list.iterator(); iter.hasNext();) { Map map = (Map) iter.next(); //可在此输出map的数据 }