mybatisplus字段名称有下划线读取不到值的问题

更新时间:2023-05-21 11:18:32 阅读: 评论:0

mybatisplus字段名称有下划线读取不到值的问题
问题
环境:springboot + mybatis-plus
现在有这么⼀个实体there be 句型
10000.sc.ity;
import batisplus.annotation.TableField;
import batisplus.annotation.TableName;西瓜英语
import java.io.Serializable;
@TableName(value ="your_table")
public class Info implements Serializable {
/**
* 姓名
logistic
*/
@TableField(value ="PERSON_NAME")
private String person_name;
public String getPerson_name(){
return person_name;
英语四级听力多少分}
public void tPerson_name(String person_name){
this.person_name = person_name;
}
}
四级英语各小题分值
实体有⼀个字段叫person_name,并且我指定了数据库⾥⾯的字段为PERSON_NAME(TableField注解),但是查询的时候值为null,其他不带下划线的字段值正常
⽤⼤腿都能想到肯定和下划线有关系,最终在mybatis-plus官⽹找到这么⼀段话:
# 官⽹ /guide/faq.html#cau-org-apache-ibatis-type-typeexception-error-tting-null-for-parameter-1-with-jdbctype-other
MybatisConfiguration configuration =new MybatisConfiguration();
configuration.tDefaultScriptingLanguage(MybatisXMLLanguageDriver.class);
configuration.tJdbcTypeForNull(JdbcType.NULL);
照耀的意思
configuration.tMapUnderscoreToCamelCa(true);//开启下划线转驼峰
sqlSessionFactory.tConfiguration(configuration);
开启了下划线转驼峰,这不多此⼀举吗,我都指定了实体字段和数据库字段的映射关系,偏还给我转驼峰,转成personName了,⼀看实体⾥⾯没有personName当然是null了
解决
所以你只要告诉mybatis-plus我不要下划线转驼峰即可,mybatis-plus底层也就是mybatis,总之不管什么⽅式,你要配置⼀下,如下是yml配置
mybatis-plus:
configuration:
map-underscore-to-camel-ca:fal # 数据库下划线⾃动转驼峰标⽰关闭
rope是什么意思或者properties格式配置mybatis
源码
在org.flection.MetaClass的⽅法findProperty⾥⾯:
强硬派public String findProperty(String name,boolean uCamelCaMapping){环保英文
itu
if(uCamelCaMapping){
name = place("_","");
}
return findProperty(name);
}
如果设置了uCamelCaMapping为true,就简单粗暴的把下划线⼲掉了

本文发布于:2023-05-21 11:18:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/116980.html

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

标签:字段   驼峰   数据库   查询   意思
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图