mybatis返回map类型数据空值字段不显示

    技术2025-08-14  12

    一、查询sql添加每个字段的判断空(不推荐)

    IFNULL(rate,'') as rate

    二、ResultType利用实体返回,不用map(不符合我的需求)

    三、springMVC+mybatis查询数据,返回resultType=”map”时,如果数据为空的字段,则该字段省略不显示,可以通过添加配置文件,规定查询数据为空是则返回null。(推荐,且符合我的需求)

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL MAP Config 3.1//EN"     "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>   <settings>     <setting name="callSettersOnNulls" value="true"/>   </settings> </configuration>

    spring-mybatis.xml

    <!-- spring和MyBatis完美整合,添加mybatis的配置映射文件 -->   <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">     <property name="dataSource" ref="dataSource"/>     <property name="configLocation" value="classpath:mybatis-configuration.xml"/>     <!-- 自动扫描mapping.xml文件 -->     <property name="mapperLocations" value="classpath:mapping/*.xml"></property>   </bean>

    因为我是使用的springboot框架,所以只需要在properties文件里面修改callSettersOnNulls的值为true即可。

    Processed: 0.015, SQL: 9