在使用mybatis的代码生成器时,遇到了一个问题,数据库中有几个字段带了下划线,例如user_id,like_count等,在写查询语句时,发现查出来的值,这几个字段都是空值,其它的正常,一开始以为只是前端有些问题,后来检查后发现传过来的数据,这几个字段都是null,查询了一些资料以后,发现 Mybatis-generator 会把带有下划线的字段按照驼峰法命名,它与数据库的映射有了冲突,与上一个jpa项目不同。
带有下划线的字段,都无法获取值,不带的则可以。
解决办法
在mybatis-config.xml文件里配置
<configuration>
<!-- 全局配置 -->
<settings>
<!--允许 JDBC 支持自动生成主键-->
<setting name="useGeneratedKeys" value="false"/>
<!--是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典
Java 属性名 aColumn 的类似映射。 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
我在自己的项目里没有找到这个xml文件,所以我是更改了数据库的字段,重新生成的,这个方法比较麻烦,幸亏项目还在起步阶段好改
网友评论