ibatis 用HashMap解决Ibatis未知列名和列数的查询结果的resultClass映射
2012-05-02 10:31
363 查看
sqlMap映射文件中(注意代码中的remapResults=”true”必须要加,因为加了以后才能适应每次变化的列名和列数):
其中“selectt.* from some_table t where t.status = 1”这段sql查询结果的列数和列名都是不固定的
Dao层实现类:
得到的test是一个list的结果集,里面每一个元素都是一个Map对象,Map结构如下:
其中“STATUS”、“NOTE”这些key就是数据库的列名,等号后面的就是value,将这个list遍历,然后再遍历出Map里面的数据,就可以实现我们的要求了
-------------------------------------
<selectid=”getDynamicTable” resultClass=”java.util.HashMap” remapResults=”true”parameterClass=”java.lang.Integer”> select t.* from some_table t where t.status = 1 </select>
其中“selectt.* from some_table t where t.status = 1”这段sql查询结果的列数和列名都是不固定的
Dao层实现类:
Listtest = this.getTemplate().queryForList(”Article.getDynamicTable”, newInteger(1));
得到的test是一个list的结果集,里面每一个元素都是一个Map对象,Map结构如下:
{STATUS=1,NOTE=12, URL=http://www.tc84.cn/,SQUENCE=12, ID=327105}
其中“STATUS”、“NOTE”这些key就是数据库的列名,等号后面的就是value,将这个list遍历,然后再遍历出Map里面的数据,就可以实现我们的要求了
-------------------------------------
<statementid="getTest" resultClass="java.util.HashMap"> SELECT ID, NAME FROM TEST </statement>
public Map getMapTest(){ List testList =(Student)sqlMap.queryForList("getTest",null); Map result = new HashMap(); for(int i=0; i<testList.size(); i++){ Map tmp = (Map)testList.get(i); result.put(tmp.get("id"),tmp.get("name")); } }
相关文章推荐
- ibatis 用HashMap解决Ibatis未知列名和列数的查询结果的resultClass映射
- ibatis中动态查询返回字段返回用resultClass="java.util.HashMap" Java.sql.SQLException: 列名无效的问题
- ibatis返回结果映射到HashMap时,列名无效的问题
- ibatis用resultClass动态返回查询结果
- ibatis中动态查询表返回用resultClass="java.util.HashMap" 的问题
- ibatis返回结果映射到HashMap时,列名无效的问题
- ibatis中动态查询返回字段返回用resultClass="java.util.HashMap" 的问题
- ibatis中动态查询表返回用resultClass="java.util.HashMap" 的问题
- ###resultMap作用:映射【多表查询结果表】---mybatis
- 数据库查询结果、Ibatis的ResultMap与JavaBean的对应关系
- Mybatis连3表查询数据resultMap结果映射
- Ibatis使用Map作为映射结果,进行多表连接查询
- ibatis分组查询结果的返回参数绑定问题解决方案
- iBatis查询时报“列名无效”无列名的错误原因及解决方法
- ibatis返回HashMap结果类型与映射
- iBatis查询结果部分为null的解决办法
- 译文: Hibernate 查询结果映射 Result Set Mapping 处理
- ibatis resultclass "java.util.hashmap" 缓存
- ibatis 用HashMap映射sql返回的结果集
- sql 查询结果增加一列,列名固定,值也固定(mysql可行,其他未知)