首页 > 作文

Mybatis无法获取带有下划线前缀的字段的值问题

更新时间:2023-04-03 23:29:36 阅读: 评论:0

目录
mybatis无法获取带有下划线前缀的字段的值打了断点,发现真相在这里解决办法mybatis无法给带有下划线属性赋值1、配置问题2、增加t方法转换值的方式

mybatis无法获取带有下划线前缀的字段的值

今天下面,把几张表里的字段都加了前缀,如 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文件里配置

<configuration>    <!-- 全局配置 -->    <ttings>        <!--允许 jdbc 支持自动生成主键-->        <tting name="ugeneratedkeys" value="fal"/>       <!--是否开启自动驼峰命名规则(camel ca)映射,即从经典数据库列名 a_column 到经典java 属性名 acolumn 的类似映射。 -->      艺考生文化课  <tting name="mapunderscoretocamelca" value="true"/>    </ttings></configuration>

mybatis无法妈妈去哪儿了给带有下划线属性赋值

1、配置问题

<!-- 是否开启自动驼峰命名规则(camel ca)映射, --><tting name="mapunderscoretocamelca" value="true"/>

或者

//开启驼峰映射        bean.getobject().getconfiguration().tmapunderscoretocamelca(true);

mybatis配置文件设置了这项后,查询出来的字段如果带下划线,那么就会去掉下划线,然后采用java驼峰规则。比如数据库字段parent_id,那么查询出来后,会转为parentid,然后去实体类匹配对应的字段。 因为你实体读书的方法类里有下划线,所以匹配不描写大雪纷飞的诗句上。要么采用resultmap 要么禁用掉驼峰规则(不建议禁用)。如果不想改实体类的话,建议采用resultmap。

2、增加t方法转换值的方式

原实体类

    public class demo {        private string ur_name;        private striing pass_word;                   public string getpass_word(){             return pass_word;        }        public void tpass_word(string pass_word){             this.pass_word=pass_word;        }           } 

原sql

lect ur_name,pass_word from demo;

这句sql在数据库可以查到数据,但是使用mybatis的实体类查询就查不到了。

解决方法

在实体类中增加以下两个t方法并把sql改为

lect ur_name as urname,pass_word as password from demo;

使用实体类查询数据库实际上就是一个t的过程只需要把每个属性增加一个t方法就好了

    public void turnaem(strin思想汇报评语g ur_name){            this.ur_name=ur_name;       }       public void tpassword(string pass_word){            this.pass_word=pass_word;       }  

仅适用于不方便改实体类的情况

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-03 23:29:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1f528fcd8bf3b55589843604df58b59c.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Mybatis无法获取带有下划线前缀的字段的值问题.doc

本文 PDF 下载地址:Mybatis无法获取带有下划线前缀的字段的值问题.pdf

标签:下划线   字段   驼峰   前缀
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图