mybatis 中带下划线变量映射的坑


问题描述

    mybatis +Spring+mysql环境,进行查询,带有下划线的字段,比如create_date,实体中createDate,返回结果为null。

原因

由于 进行查询的时候,返回值是使用的resultType 对应的是实体,而这样create_date与createDate就不能一一对应,框架没那么智能。改为resultMap进行映射即可。

\mybatis-config.xml

        <!-- 使用驼峰命名法转换字段。 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>

 

mybatis配置文件设置了这项后,查询出来的字段如果带下划线,那么就会去掉下划线,然后采用java驼峰规则。比如数据库字段Parent_id,那么查询出来后,会转为parentid,然后去 实体类Category匹配对应的字段。 因为你 实体类里有下划线,所以匹配不上。要么采用resultMap 要么禁用掉驼峰规则(不建议禁用)。如果不想该实体类的话,建议采用resultMap。




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM