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

2018-03-28 15:24:30

解决方法1,添加映射map配置文件

<resultMap type="com.ibaby.model.pojo.classnotice.NoticeInfo" id="noticeInfoMap">
    <id column="looked" property="looked" />
    <result column="notice_id" property="notice_id" />
</resultMap>
<select id="leadrStatus" resultMap="noticeInfoMap" parameterType="java.util.Map">


解决方法2


今天遇到这么一个情况,实体类属性名存在下划线然后mybatis查询后带有下换线的属性全部为null,因为实体类还有其他用途不方便更改属性名所以想到一个方法来解决

原实体类

[java] view plain copy

  1. public class demo {  

  2.   private String user_name;  

  3.   private Striing pass_word;  

  4.   

  5.   

  6.   public String getPass_word(){  

  7.        return pass_word;  

  8.   }  

  9.   public void setPass_word(String pass_word){  

  10.        this.pass_word=pass_word;  

  11.   }  

  12.   

  13. }  

原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方法就好了

[java] view plain copy

  1.   

[java] view plain copy

  1. public void setUsernaem(String user_name){  

  2.       this.user_name=user_name;  

  3.  }  

  4.  public void setPassword(String pass_word){  

  5.       this.pass_word=pass_word;  

  6.  }  


仅适用于不方便改实体类的情况,能改的话还是改了吧。。。。
  • 2018-09-09 02:25:09

    单例模式的好处和缺点?为什么要用单例模式?

    单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

  • 2018-09-09 02:31:48

    基于VCamera,仿微信录制短视频

    基于VCamera,Android仿微信录制短视频,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request。

  • 2018-09-13 22:24:04

    QQ微信登录失败,报100044错

    我用的mob的maven集成方案,说实在的从一开始用maven集成方案就是一个坑啊。每次build都会重新加载所有maven包,后来通过gradle offline总算解决了。

  • 2018-09-26 15:14:23

    PHP JSON_ENCODE 不转义中文汉字的方法

    PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据。 网上很多,但是其实都是错误的,正确的方法是在json_encode 中加入一个参数 JSON_UNESCAPED_UNICODE