spring boot整合mybatis查询数据库返回Map字段为空不返回

在实际开发中遇到了使用resultMap返回数据时,表里数据为null就不返回该字段,对于前端一些组件的数据绑定来说不太方便
解决方法:

  • 在spring boot整合mybatis中,可以加入
1
2
3
mybatis:
configuration:
call-setters-on-nulls: true

即可

  • 如果只使用mybatis,可以在mybatis-config.xml中加入
1
2
3
4
<settings>  
<setting name="cacheEnabled" value="true"/>
<setting name="callSettersOnNulls" value="true"/>
</settings>
  • 在spring和mybatis环境下,可以配置来引入上面的配置
1
2
3
4
5
6
7
8
9
10
11
12
<bean id="saasSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="saasDataSource" />
<!-- 实体对象 -->
<property name="typeAliasesPackage" value="com.nicchagil.mybatis3spring3intg.bean" />
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations">
<list>
<value>classpath*:com/acs/saasdb/*/mapper/*Mapper.xml</value>
</list>
</property>
<property name="configLocation" value="classpath:/spring/mybatis-config.xml"></property>
</bean>