在MyBatis中,查询结果resultMap返回的是实体类,实体类中则处理值为null的结果。
如:
public void setNickname(String nickname) {
this.nickname = nickname == null ? null : nickname.trim();
}
但是当返回结果为自定义resultMap时,就会出现,以下情况:
如:
自定义map
返回结果:
{accountLocked=false, loginTime=1480559610977, phone=18301413850, isDelete=false, dataProgress=0, nickname=, id=93cd68fcb95043febd28d6ad86666029, uuid=544dc45953e2dcc60e23ecccc52c578b, token=WT1Kgx}
发现返回结果Map中没有 user_head字段,原来 user_head在数据库中值为null,所以说数据库中所有值为null的字段,在查询接收resultMap时都不存在
解决方法:
1、在Mybatis_config.xml文件中添加配置信息
/p>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
经测试,值为null的结果在map中存在
测试结果:
{accountLocked=false, loginTime=1480559610977, userHead=null, phone=18301413850, isDelete=false, dataProgress=0, nickname=, id=93cd68fcb95043febd28d6ad86666029, uuid=544dc45953e2dcc60e23ecccc52c578b, token=WT1Kgx}