zoukankan      html  css  js  c++  java
  • mybatis_5解决属性名和字段名不一致的问题(resultMap)

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

    与数据库中相同的字段类型就不用映射了id和name

    • resultMap 元素是 MyBatis 中最重要最强大的元素
    • ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
    • ResultMap 最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式地用到他们。
    • 如果世界总是这么简单就好了。
  • 相关阅读:
    MongoDB的安装与简单使用
    [SCOI2008]天平
    [ZJOI2008]树的统计
    [HEOI2015]兔子与樱花
    [HAOI2006]l旅行
    [ZJOI2008]泡泡堂BNB
    [ZJOI2007]时态同步
    [SCOI2005]栅栏
    [SCOI2008]着色方案
    [SCOI2005]互不侵犯King
  • 原文地址:https://www.cnblogs.com/loading955/p/13793973.html
Copyright © 2011-2022 走看看