2 xuke6677 xuke6677 于 2013.06.04 16:45 提问

mybatis如果返回map时,如果value为null,就不显示了。

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

请问大神们怎么解决这个问题啊?

4个回答

Tang__xuandong
Tang__xuandong   2015.02.12 18:53

刚刚我也遇到这个问题,就是返回的对象,没用Map。然后就是数据库ifnull,处理的。问题过去这么久了,你有更好的方法吗?

xuke6677
xuke6677   2015.03.02 12:13

如果是varchar 类型 ,字段值为空时,会显示“null”

qq_26932175
qq_26932175 该怎么解决这个问题呢
接近 2 年之前 回复
xuke6677
xuke6677   2015.03.16 16:22

如果是Integer和String类型在实体类中,通过generator自动生成实体中已经处理了Null的情况
public String getName() {
return name;
}

public void setName(String name) {
    this.name = name == null ? null : name.trim();
}

所有,最好不用int类型,换成Integer对象

qq_31411453
qq_31411453   2015.09.18 18:05

直接 mysql 查询 ifnull(null,'')

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!