Mybatis select返回值为map时,选取表字段的两列作为key,value
来源:互联网 发布:vb.net 编辑:程序博客网 时间:2024/05/21 06:20
最近需要用到Mybatis中查询结果集为Map的功能,查了好多资料,最终搞定。其实只需要重写ResultHandler接口,,然后用SqlSession 的select方法,将xml里面的映射文件的返回值配置成 HashMap 就可以了。具体过程如下
1、先看看xml文件怎么配置
<resultMap id="getAllSetDaysResult" type="HashMap"><result property="key" column="SP_FPARAMEKEY" /><result property="value" column="SP_FPARAMEVALUE" /></resultMap>
来看看sql是怎么写的
<select id="getAllSetDays" resultMap="getAllSetDaysResult">SELECT SP.FPARAMEKEY SP_FPARAMEKEY, SP.FPARAMEVALUE SP_FPARAMEVALUE FROM T_SERVER_PARAMETER SP WHERE SP.FPARAMEKEY IN ('XXX')</select>
这里面的property属性列的值,就是你后面实现的ResultHandler 接口返回的map集的key和value,具体看代码
2、重写org.apache.ibatis.session 中ResultHandler接口:
public class FblMapResultHandler implements ResultHandler {@SuppressWarnings("rawtypes")private final Map mappedResults = new HashMap();@SuppressWarnings("unchecked")@Overridepublic void handleResult(ResultContext context) {@SuppressWarnings("rawtypes")Map map = (Map) context.getResultObject(); mappedResults.put(map.get("key"), map.get("value")); // xml 配置里面的property的值,对应的列}public Map getMappedResults() { return mappedResults; } }
3、调用select方法:
FblMapResultHandler fbl = new FblMapResultHandler();getSqlSession().select(NAMESPACE +"getAllSetDays",fbl);@SuppressWarnings("rawtypes")Map map =fbl.getMappedResults();return map;此时map里面的key,和value就是我们数据库中表中的对应的两列了.
0 0
- Mybatis select返回值为map时,选取表字段的两列作为key,value
- mybatis select返回值为map时,选取表字段的两列作为key,value
- mybatis中使用map类型参数,其中key为列名,value为列值
- foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值
- mybatis的返回形式(bo---map(key--value))
- MyBatis根据Map中key作为字段名,value作为字段值修改数据
- Mybatis返回Map时,如果值为空的话,那么key也不会被加入到map中的解决办法
- mybatis 返回Map的key大小写问题
- 使用 JDBC API getColumns() 获取 Mysql 的 表字段时,返回为空 的解决方案
- 对Map类分别按照Key,Value排序,返回值为List对象
- MyBatis返回值为Map
- C++ map<key , value> key值为指针
- 关键字作为表字段的处理方案
- 解决spring boot整合mybatis时 返回map value为空字段不显示
- Mybatis foreach嵌套遍历Map的key和value
- mybatis如何遍历Map的key和value
- MyBatis循环获取Map中的key和value的方法
- mybatis如何遍历Map的key和value
- MySQL存储过程从另外两个表中取数据存整合其他数据保存在一张新的表里
- 经典算法---渊子赛马
- C语言 输入年月日判断是第几天
- 【HDOJ 5402】Travelling Salesman Problem
- 重构目录
- Mybatis select返回值为map时,选取表字段的两列作为key,value
- github
- hdu 5303 Delicious Apples 2015 Multi-University Training Contest 2
- OpenLdap+phpldapadmin部署文档
- 一个让人痛苦想删不敢的文件夹winsxx
- isis中这两个命令是有冲突的
- cocos2dx android mac
- 1869 六度分离【floyd】
- IP网际协议