企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
由于业务特殊, mybatis resultType 是返回的map, 发现数据为null的字段没查询返回 如: 字段name是null 则此条数据中map里就没有这条 key为name的数据 处理方式如下: ## 1. 项目使用的是 前后端分离版 RuoYi v3.8.5 在 resources / mybatis / mybatis-config.xml 里增加 ``` <setting name="callSettersOnNuls" value="true"> ``` ![](https://img.kancloud.cn/46/ab/46ab4fb78dbc345a09ec4156e6c1026b_1567x508.png) 若依把 mybatis 的 configuration 配置在了mybatis / mybatis-config.xml, 在ruoyi-framework / src / main / java / com / ruoyi / framework / config / MyBatisConfig.java 中通过 sessionFactory.setConfigLocation(newDefaultResourceLoader().getResource(configLocation)); 加载到 SqlSessionFactory ## 2. 配置yml文件中 这个其实就是上面的1, 只是 1 把configuration配置到文件中了 ``` mybatis: configuration: call-setters-on-nulls: true ``` ## 3. SqlSessionFactory 中配置 ``` SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration(); configuration.setCallSettersOnNulls(true); sessionFactory .setConfiguration(configuration); ```