之前做项目集成SSM框架时遇到的算是一个小问插曲吧,在与前端对接时发现有些字段没成功返回。搜索后才知道默认情况下,Mybatis对Map的解析生成,如果值为null的话,key不会被加入到map中。要使值为null时还返回对应的key,需要在mybatis的配置文件里设置callSettersOnNulls 参数为true,如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 配置全局属性 --> <settings> <!--使用jdbc的getGeneratedKeys获取数据库自增主键值 --> <setting name="useGeneratedKeys" value="true"/> <!-- 使用列别名替换列名 默认true --> <setting name="useColumnLabel" value="true"/> <!-- 开启驼峰命名转换 --> <setting name="mapUnderscoreToCamelCase" value="true"/> <setting name="callSettersOnNulls" value="true"/> </settings> </configuration>