遇到很奇怪的问题,用mybatis的时候返回前端:[null] ,这就很奇怪了,因为正常来说应该返回[{“xxx1”:null,“xxx2”:null}]
后面设置callSettersOnNulls为true, 这时候字段如果不全是空就返回回了[{“xxx1”:“aaa”,"xxx"2:null}]
如果全是null,像这样[{“xxx1”:null,“xxx2”:null}],会返回 [null], 这时候在将returnInstanceForEmptyRow 设置为true就返回[{“xxx1”:null,“xxx2”:null}]
按照你使用的技术可能会在不同的地方进行配置,如
public static Configuration mapForEmptyRowConfiguration(){
Configuration config = new Configuration();
config.setCallSettersOnNulls(true);
config.setReturnInstanceForEmptyRow(true);
return config;
}
factoryBean.setConfiguration(mapForEmptyRowConfiguration());
或者在mybatis的配置文件
<setting name="callSettersOnNulls" value="true">
<setting name="returnInstanceForEmptyRow" value="true">
或者在spring-boot的配置文件
mybatis.configuration.call-setters-on-nulls=true
mybatis.configuration.return-instance-for-empty-row=true