今天下面,把几张表里的字段都加了前缀,如 article_id,article_title,acticle_content,article_status。
然后通过Mybatis-generator 生成了 po和mapper,替换后。
原本正常的网页,这下数据全没了。当时,很淡定,推测可能是哪里写错了,改改就好。但是就是这改改,改了几个小时都没成功,调试了很久。打断点一直是显示:All Element are null
后来,Ctrl+Z 撤销所有修改,并把字段的前缀全部去掉。这时候,突然想到,之前有一次就是因为字段加了下划线导致什么报错,当时为了省事,就全改为没有下划线的。同时也关注到 Mybatis-generator 会把带有下划线的字段按照驼峰法命名,会不会是这里呢?
这时候,试了一下不带下划线和带下划线字段混合的表。
打了断点,发现,真相在这里
带有下划线的字段,都无法获取值,不带的则可以。
最终百度找到了解决方案。
这里感谢一下 valder fields
在mybatis-config.xml文件里配置
本文链接:https://liuyanzhao.com/6109.html
然后通过Mybatis-generator 生成了 po和mapper,替换后。
原本正常的网页,这下数据全没了。当时,很淡定,推测可能是哪里写错了,改改就好。但是就是这改改,改了几个小时都没成功,调试了很久。打断点一直是显示:All Element are null
后来,Ctrl+Z 撤销所有修改,并把字段的前缀全部去掉。这时候,突然想到,之前有一次就是因为字段加了下划线导致什么报错,当时为了省事,就全改为没有下划线的。同时也关注到 Mybatis-generator 会把带有下划线的字段按照驼峰法命名,会不会是这里呢?
这时候,试了一下不带下划线和带下划线字段混合的表。
打了断点,发现,真相在这里
带有下划线的字段,都无法获取值,不带的则可以。
最终百度找到了解决方案。
这里感谢一下 valder fields
解决办法
在mybatis-config.xml文件里配置
- <configuration>
- <!-- 全局配置 -->
- <settings>
- <!--允许 JDBC 支持自动生成主键-->
- <setting name="useGeneratedKeys" value="false"/>
- <!--是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典
- Java 属性名 aColumn 的类似映射。 -->
- <setting name="mapUnderscoreToCamelCase" value="true"/>
- </settings>
- </configuration>
本文链接:https://liuyanzhao.com/6109.html
2017年12月22日 14:42:49
不错,学习了!!!