返回顶部
首页 > 资讯 > 精选 >Mybatis无法获取带有下划线前缀字段的值怎么办
  • 691
分享到

Mybatis无法获取带有下划线前缀字段的值怎么办

2023-06-21 22:06:12 691人浏览 八月长安
摘要

这篇文章主要介绍“mybatis无法获取带有下划线前缀字段的值怎么办”,在日常操作中,相信很多人在Mybatis无法获取带有下划线前缀字段的值怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis

这篇文章主要介绍“mybatis无法获取带有下划线前缀字段的值怎么办”,在日常操作中,相信很多人在Mybatis无法获取带有下划线前缀字段的值怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis无法获取带有下划线前缀字段的值怎么办”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

今天下面,把几张表里的字段都加了前缀,如 article_id,article_title,acticle_content,article_status。

然后通过Mybatis-generator 生成了 po和mapper,替换后。

原本正常的网页,这下数据全没了。当时,很淡定,推测可能是哪里写错了,改改就好。但是就是这改改,改了几个小时都没成功,调试了很久。打断点一直是显示:All Element are null

后来,Ctrl+Z 撤销所有修改,并把字段的前缀全部去掉。这时候,突然想到,之前有一次就是因为字段加了下划线导致什么报错,当时为了省事,就全改为没有下划线的。同时也关注到 Mybatis-generator 会把带有下划线的字段按照驼峰法命名,会不会是这里呢?

这时候,试了一下不带下划线和带下划线字段混合的表。

打了断点,发现真相在这里

Mybatis无法获取带有下划线前缀字段的值怎么办

带有下划线的字段,都无法获取值,不带的则可以。

最终百度找到了解决方案。

这里感谢一下 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>

Mybatis无法给带有下划线属性赋值

1、配置问题

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

或者

//开启驼峰映射        bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);

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

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

原实体类

public class demo {        private String user_name;        private Striing pass_Word;                   public String getPass_word(){             return pass_word;        }        public void setPass_word(String pass_word){             this.pass_word=pass_word;        }           }

sql

select user_name,pass_word from demo;

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

解决方法

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

select user_name as username,pass_word as password from demo;

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

public void setUsernaem(String user_name){            this.user_name=user_name;       }       public void setPassword(String pass_word){            this.pass_word=pass_word;       }

到此,关于“Mybatis无法获取带有下划线前缀字段的值怎么办”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Mybatis无法获取带有下划线前缀字段的值怎么办

本文链接: https://lsjlt.com/news/301023.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mybatis无法获取带有下划线前缀字段的值怎么办
    这篇文章主要介绍“Mybatis无法获取带有下划线前缀字段的值怎么办”,在日常操作中,相信很多人在Mybatis无法获取带有下划线前缀字段的值怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis...
    99+
    2023-06-21
  • Mybatis无法获取带有下划线前缀的字段的值问题
    目录Mybatis无法获取带有下划线前缀的字段的值打了断点,发现真相在这里解决办法Mybatis无法给带有下划线属性赋值1、配置问题2、增加set方法转换值的方式Mybatis无法获...
    99+
    2024-04-02
  • css中带有下划线前缀的属性是什么
    小编给大家分享一下css中带有下划线前缀的属性是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 下划线(_) 适用浏览器...
    99+
    2024-04-02
  • 解决mybatis无法给带有下划线属性赋值问题
    目录mybatis无法给带有下划线属性赋值问1、配置问题2、增加set方法转换值的方式解决方法实体类中有下滑线字段无法赋值问题mybatis无法给带有下划线属性赋值问 1、配置问题 ...
    99+
    2024-04-02
  • MybatisPlus分页排序查询字段带有下划线的解决方法是什么
    这篇文章主要讲解了“MybatisPlus分页排序查询字段带有下划线的解决方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MybatisPlus分页排序查询字段带有下划线的解决方法是...
    99+
    2023-06-21
  • 使用MyBatis怎么获取插入记录的自增长字段值
    这期内容当中小编将会给大家带来有关使用MyBatis怎么获取插入记录的自增长字段值,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。第一步:    在Mybatis Mapper...
    99+
    2023-05-30
    mybatis
  • jQuery怎么获取复选框选中当前行的某个字段值
    这篇文章给大家分享的是有关jQuery怎么获取复选框选中当前行的某个字段值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体代码如下所示: <html> &...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作