利用mybatis查询一条记录,而返回是一个map,map 的value为空,这一键值对就会被mybatis过滤掉

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用mybatis查询一条记录,而返回是一个map,map 的value为空,这一键值对就会被mybatis过滤掉相关的知识,希望对你有一定的参考价值。

利用mybatis 查询一条记录,而返回是一个map,比如操作数据库是通过存储过程或者是直接传一个String sql="select * from emp where e_id=1"字符串来返回一个map。
1、如果某一列的值为空。查询这条记录时就不显示这列了。
2、如果这个列是number类型,不能给默认值(比如 ‘0’)。只能为空,这样也会显示不出来
请问大神们怎么解决这个问题啊?

参考技术A 看Mybatis的版本了.. 3.0.4就是你这种显示方法
3.1以上有一个参数 可以控制是否把空值过滤
参考技术B <select id="xxxx" resultType="HashMap"

以上是关于利用mybatis查询一条记录,而返回是一个map,map 的value为空,这一键值对就会被mybatis过滤掉的主要内容,如果未能解决你的问题,请参考以下文章

@MapKey----mybatis返回Map

使用mybatis返回一个Map时,如果sql语句查询没有记录,如何让sql中的字段为Map中的key

mybatis 关联查询时,从表只返回第一条记录解决办法

MyBatis 流式查询

mybatis返回多结果集

Mybatis 解决问题的记录与博客