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.  }  


仅适用于不方便改实体类的情况,能改的话还是改了吧。。。。
  • 2019-09-28 08:00:30

    Java.io.tmpdir介绍

    System.getproperty(“java.io.tmpdir”)是获取操作系统缓存的临时目录,不同操作系统的缓存临时目录不一样,

  • 2019-09-28 08:36:43

    Ehcache配置持久化到硬盘,只存储到硬盘

    Ehcache默认配置的话 为了提高效率,所以有一部分缓存是在内存中,然后达到配置的内存对象总量,则才根据策略持久化到硬盘中,这里是有一个问题的,假如系统突然中断运行 那内存中的那些缓存,直接被释放掉了,不能持久化到硬盘;这种数据丢失,对于一般项目是不会有影响的,但是对于我们的爬虫系统,我们是用来判断重复Url的,所以数据不能丢失;

  • 2019-09-28 09:33:18

    put与putIfAbsent区别

    put在放入数据时,如果放入数据的key已经存在与Map中,最后放入的数据会覆盖之前存在的数据, 而putIfAbsent在放入数据时,如果存在重复的key,那么putIfAbsent不会放入值。

  • 2019-09-29 10:28:04

    程序员实用工具网站

    程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。