zoukankan      html  css  js  c++  java
  • ssm+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 user {  
          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 user;
    这句sql在数据库可以查到数据,但是使用mybatis的实体类查询就查不到了。
    
    解决方法
    
    在实体类中增加以下两个set方法并把sql改为
    select user_name as username,pass_word as password from user;
    使用实体类查询数据库实际上就是一个set的过程只需要把每个属性增加一个set方法就好了(这个还行吧)
        public void setUsernaem(String user_name){  
              this.user_name=user_name;  
         }  
         public void setPassword(String pass_word){  
              this.pass_word=pass_word;  
         }  
     
     然后查询:
    //还是可以查询全部数据的

    select
    * from user order by id asc;
     
    
    

      

  • 相关阅读:
    让unidac支持加密的sqlite
    hook api 保护进程
    Delphi实现网页采集
    UNIDAC
    Delphi的视频捕获组件
    删除程序自身
    一种简单的自校验的注册码生成方案以及暗桩方法
    SQL server表字段信息说明
    淘宝API开发(一)简单介绍淘宝API功能接口作用
    淘宝API开发(二)淘宝API接口功能测试
  • 原文地址:https://www.cnblogs.com/maoye520/p/12793158.html
Copyright © 2011-2022 走看看