[Java][ibatis]通过resultMap与resultClass取得Map结果集的差异

来源:互联网 发布:二维平移矩阵 编辑:程序博客网 时间:2024/06/07 02:03

 通过resultMap与resultClass取得Map结果集的差异

别名映射->实体类:resultClass
<select id=" selectAll" resultClass="AppLog">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
List list = sqlMapper.queryForList("selectAll");
for (int i = 0; i < list.size(); i++) {
  AppLog log = (AppLog) list.get(i);
//add your code here;
}

别名映射->Map类:resultClass
<select id=" selectAll" resultClass="java.util.HashMap<String, String>">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
List list = sqlMapper.queryForList("selectAll");
for (int i = 0; i < list.size(); i++) {
  Map map = (Map) list.get(i);
  String id = (String) map.get("id");
  String type = (String) map.get("type");
  String descr = (String) map.get("descr");
//add your code here;
}

显式映射->实体类:resultMap
<resultMap id="AppLogResult" class="AppLog">
<result property="id" column="ID"/>
<result property="type" column="Type"/>
<result property="descr" column="DESCR"/>
</resultMap>

<select id="selectAll" resultMap="AppLogResult">
select * from APP_LOG
</select>
List list = sqlMapper.queryForList("selectAll");
for (int i = 0; i < list.size(); i++) {
  AppLog log = (AppLog) list.get(i);
//add your code here;
}

显式映射->Map类:resultMap
  <resultMap id="map-result" class="java.util.HashMap">
    <result property="id" column="ID"/>
  <result property="type" column="Type"/>
  <result property="descr" column="DESCR"/>
  </resultMap>

<select id="selectAll2" resultMap="map-result">
select * from APP_LOG
</select>
List list = sqlMapper.queryForList("selectAll2");
    for (int i = 0; i < list.size(); i++) {
      Map map = (Map) list.get(i);
      String id = (String) map.get("id");
      String type = (String) map.get("type");
      String descr = (String) map.get("descr");      
    }

无映射
<select id="selectAll3" resultClass="java.util.HashMap">
select * from APP_LOG
</select>
List list = sqlMapper.queryForList("selectAll3");
for (int i = 0; i < list.size(); i++) {
  Map map = (Map) list.get(i);
  String id = (String) map.get("ID");
  String type = (String) map.get("TYPE");
  String descr = (String) map.get("DESCR");
}

xml

<select id="selectxml" parameterClass="java.lang.String" resultClass="xml" xmlResultName="log">
select
ID as id,
TYPE as type,
DESCR as descr
from APP_LOG
where ID = #id#
</select>
String o=(String) sqlMapper.queryForObject("selectxml", id);
System.out.println(o);

原创粉丝点击