mybatis学习06:ResultMap结果集

mybatis学习06:ResultMap结果集

  • 解决属性名和字段名不一致的问题:

    • 数据库中字段:

       

    • 新建一个项目,测试实体类字段不一致的情况:

      public class User {

         private int id ;
         private String name;
         private String password;
      }
    • 测试出现问题:

      User{id=2, name='demo1', password='null'}

       

 

  • 解决方案1:

    • 方案1,起别名

      select * from mybatis.user where id=#{id}
      别名
      select id,name,pwd as password from mybatis.user where id=#{id}

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

 

 

  • resultMap:

    • 结果集映射

    • resultMap 元素是 MyBatis 中最重要最强大的元素;

    • ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。

      id name pwd
      id name password
    • Mapper.xml

      <!--结果集映射-->
      <resultMap id="UserMap" type="User">
         <result column="pwd" property="password"/>
      </resultMap>

      <!--传递单个参数-->
      <select id="getUserById" parameterType="int" resultMap="UserMap">
        select id,name,pwd from mybatis.user where id=#{id}
      </select>
    • 测试结果:

      User{id=2, name='demo1', password='123456'}

 

 

 

 

 

 

 

posted @   gzs1024  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示