zoukankan      html  css  js  c++  java
  • Mybatis中解决属性名和字段名不一致的问题

    5、解决属性名和字段名不一致的问题

    1、 问题

    数据库中的字段

    新建一个项目,拷贝之前的,测试实体类字段不一致的情况

    public class User {
        
        private int id;
        private String name;
        private String password;
    }
    

    测试出现问题

    //    select * from mybatis.user where id = #{id}
    //类型处理器
    //    select id,name,pwd from mybatis.user where id = #{id}
    

    解决方法:

    • 起别名

      <select id="getUserById" resultType="com.kuang.pojo.User">
          select id,name,pwd as password from mybatis.user where id = #{id}
      </select>
      

    2、resultMap

    结果集映射

    id   name   pwd
    id   name   password
    
    <!--结果集映射-->
    <resultMap id="UserMap" type="User">
        <!--column数据库中的字段,property实体类中的属性-->
        <result column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="pwd" property="password"/>
    </resultMap>
    
    <select id="getUserById" resultMap="UserMap">
        select * from mybatis.user where id = #{id}
    </select>
    
    • resultMap 元素是 MyBatis 中最重要最强大的元素
    • ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
    • ResultMap 最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式地用到他们。
    • 如果世界总是这么简单就好了。
  • 相关阅读:
    [BZOJ3172]单词
    [BZOJ2434]阿狸的打字机
    [BZOJ1195]最短母串
    [codeforces743E]Vladik and cards
    [BZOJ2553]禁忌
    [BZOJ1009]GT考试
    [BZOJ3507]通配符匹配
    [BZOJ4027]兔子与樱花
    test20190308
    Luogu P2742 模板-二维凸包
  • 原文地址:https://www.cnblogs.com/yhnCoder/p/13625854.html
Copyright © 2011-2022 走看看