解决mybatis无法给带有下划线属性赋值问题

网友投稿 1595 2022-11-06

解决mybatis无法给带有下划线属性赋值问题

解决mybatis无法给带有下划线属性赋值问题

目录mybatis无法给带有下划线属性赋值问1、配置问题2、增加set方法转换值的方式解决方法实体类中有下滑线字段无法赋值问题

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

1、配置问题

或者

//开启驼峰映射

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无法赋值

直接将实体类中的下划线去掉返回值使用resultMap进行字段映射赋值

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot工程中如何优雅地处理异常
下一篇:MyBatis resultMap id标签的错误使用方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~