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-10-23 23:25:22

    PostMapping,GetMapping不固定路径的写法

    PostMapping中的value属性是数组,所以可以定义多个路径,required属性默认是true,不必再写required=true,默认表示该参数是必须要有的,如果写required=false,表示该参数是可选的,可有可无。

  • 2019-10-24 01:14:29

    通过属性搜索商品mysql设计

    属性是可以动态扩展的,问题:属性是搜索条件 问:请展示出 材质为塑料 防水为YES,颜色为绿色的商品详细信息,按照sort_filed排序

  • 2019-10-25 15:18:18

    Vue.use Vue.prototype区别

    1、不是为了vue写的插件(插件内要处理)不支持Vue.use()加载方式 2、非vue官方库不支持new Vue()方式 3、每一个vue组件都是Vue的实例,所以组件内this可以拿到Vue.prototype上添加的属性和方法。

  • 2019-10-25 23:33:45

    php制作漂亮的随机颜色标签云效果

    代码中的array里面的字符串就是各种随机色的编码,大家可以根据自己的需求来配置颜色。 然后input1里面是字体大小的随机代码,也可以自行修改。

  • 2019-10-27 00:23:42

    mac卡住,强制关闭应用

    要正常退出(关闭)Mac 应用,请从菜单栏的应用菜单中选取“退出”,或按下 Command (⌘)-Q。如果应用不退出,请按照以下步骤强制该应用退出。

  • 2019-10-27 11:02:10

    mac不要输入sudo,免密设置

    mac有时候使用终端进行操作,会让输入sudo 并且要输入命令,这要很啰嗦,浪费时间,我们得想办法去掉。