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

发布时间:2022-01-21 09:22:42 作者:清风
来源:亿速云 阅读:215

这篇文章主要为大家展示了如何解决mybatis无法给带有下划线属性赋值问题,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“如何解决mybatis无法给带有下划线属性赋值问题”这篇文章吧。

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

以上就是关于“如何解决mybatis无法给带有下划线属性赋值问题”的内容,如果该文章对您有所帮助并觉得写得不错,劳请分享给您的好友一起学习新知识,若想了解更多相关知识内容,请多多关注亿速云行业资讯频道。

推荐阅读:
  1. Hbase 无法创建带有snappy压缩属性的表
  2. MyBatis拦截器:给参数对象属性赋值

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mybatis

上一篇:怎么在Bash中编写循环

下一篇:plsql可不可以连接mysql

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》