在开发过程中,大多数情况下我们使用VO对象作为返回值,但在特殊情况我们不用完全返回整个对象,只需要返回部分字段,满足使用的同时也减少了json传输的数据量,因此我们会使用Map类型返回。
但是在查询时,若查询字段的结果为null,Map的返回值中会忽略该字段不返回。
如下:张三的create_time在数据库中的值为null,查询结果使用Map返回时会自动忽略值为null的字段
{
"code": 0,
"msg": null,
"data": [
{
"id": "1",
"name": "张三"
},
{
"id": "2",
"name": "李四",
"create_time": 2022-01-13 15:49:31
}]
}
为了保证数据的一致性和结果的完整性,我们希望create_time为null时也返回null值。
此时在配置文件中加入mybatisplus的配置即可。
### 特殊情况下,查询结果返回List<Map>格式,会自动将查询结果为null的字段忽略,加入该配置
mybatis-plus:
configuration:
call-setters-on-nulls: true
修改后返回结果如下:
{
"code": 0,
"msg": null,
"data": [
{
"id": "1",
"name": "张三",
"create_time": null
},
{
"id": "2",
"name": "李四",
"create_time": 2022-01-13 15:49:31
}]
}