出现这个问题的场景
在定义数据库映射实体时有时候字段名称过长,按照java 规范应使用小驼峰命名法比如User 实体中有 userName、age、id字段对应的时数据库中的user_name、age、id 列。这时写一个select语句就会出现age id 有值而userName没有值,原因就是mybatis不会自动把下划线命名转换成驼峰命名,解决方法有以下几种。
- 直接修改java实体类字段名比如把
userName改为user_name,这样做显然不太完美违背java命名规范。 - 写
select语句时加上as,比如select user_name as userName form user这样也可以解决。但是每个语句都要加上太繁琐。 - 可以在配置文件
mybatis-config.xml中开启下划线转驼峰转换configuration标签下加入
<settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings>就可以开启此功能。









网友评论