Mybatis学习笔记-ResultMap结果集映射

解决属性名与字段名不一致的问题

  • 新建项目 --> 测试实体类字段不一致的情况
  • 数据库字段:id,name,pwd
  • 实体类属性:id,name,password
  • 输出结果
User{id=1, name='Iris', pwd='null'}
  • 产生原因
SELECT * FROM user WHERE id = #{id};
SELECT id,name,pwd FROM user WHERE id = #{id}
  • 解决方案
    • 别名
SELECT id,name,pwd as password FROM user WHERE id = #{id}
// 运行结果:User{id=1, name='Iris', pwd='123456'}
    • ResultMap

ResultMap -- 结果集映射

Mybatis中最重要、强大的元素
设计思想:对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了
<resultMap id="UserMap" type="User">
    <!--column为数据库中的列名,property为实体类中的属性名-->
    <!--将字段映射为属性-->
    property="password" jdbcType="VARCHAR"/>
</resultMap>

<!--根据ID查询用户-->
<select id="getUserById" resultMap="UserMap">
    SELECT * FROM user WHERE id = #{id};
</select>
posted @ 2021-08-05 17:49  菜鸢爱敲bug  阅读(77)  评论(0编辑  收藏  举报