问题描述
- mybatis如果返回map时,如果value为null,就不显示了。
-
利用mybatis 动态查询一条记录,而返回是一个map,比如操作数据库是通过存储过程或者是直接传一个String sql="select * from emp where e_id=1"字符串来返回一个map。
1、如果某一列的值为空。查询这条记录时就不显示这列了。
2、如果这个列是number类型,不能给默认值(比如 ‘0’)。只能为空,这样也会显示不出来请问大神们怎么解决这个问题啊?
解决方案
刚刚我也遇到这个问题,就是返回的对象,没用Map。然后就是数据库ifnull,处理的。问题过去这么久了,你有更好的方法吗?
解决方案二:
如果是varchar 类型 ,字段值为空时,会显示“null”
解决方案三:
如果是Integer和String类型在实体类中,通过generator自动生成实体中已经处理了Null的情况
public String getName() {
return name;
}
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
所有,最好不用int类型,换成Integer对象
解决方案四:
直接 mysql 查询 ifnull(null,'')
时间: 2024-12-21 22:47:46