数据库里表test就只有两个字段:id,name
直接看test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="test">
<resultMap id="get-test-Result" class="java.util.HashMap">
<result property="id" column="id" />
<result property="name" column="name" />
</resultMap>
<select id="selectAllByClass" resultClass="java.util.HashMap" >
select id, name from test
</select>
<select id="selectAllByMap" resultMap="get-test-Result" >
select id, name from test
</select>
</sqlMap>
取得查询结果是一个list,里面装的都是map,不要用queryForMap这个方法,用queryForList这个
List test = sqlMapClient.queryForList("selectAllByClass");
//List test = sqlMapClient.queryForList("selectAllByMap");
//和selectAllByClass 一样,也就是最新定义的map它返回的其实也是hashmap类型
得到了这个list,你就可以从中取出你想要的数据了:
for (int i = 0; i < test.size(); i++) {
Map<String,Object> t = (HashMap<String,Object>)test.get(i);
System.out.print(ma.get("id"));//从map中取得你在里面的自段
System.out.println(ma.get("name"));
}
结果为:
1aa
2bb
3cc
知道了如何取数据了,其他的基本也会了,像insert,update,delete一样的意思,就是参数类型是parameterClass="java.util.HashMap",得到的结果也是resultClass="java.util.HashMap"(对应的就是parameterMap,resultMap),在java代码中自己构建一个HashMap当参数传进行就行了,这样子就可以不用写那么多的实体类了,也就是少写了许多javabean,方便了经常要修改数据库表字段的开发模式