问题现象
当select的返回记录类型设置为map(或者其他Map类型,比如java.util.HashMap等)时,返回的map对象可能并未包含所有字段,即只出现有值的字段,而这恰恰是MyBatis的默认处理方式。
<select ... resultType="map"> |
解决方案
为了解决记录字段不全这个问题,我们可以在settings
中增加callSettersOnNulls的设置,如下所示:
<configuration> |
结束语
解决方案就这么简单,但研究MyBatis源码以分析解决该问题略微坎坷,希望对大家有用。