mybatis ResultMap结果集映射

本文介绍了如何在Mybatis中使用ResultMap来处理数据库字段名与Java Bean不一致的情况,通过 resultMap 映射和别名技巧,确保数据正确封装到对象中,避免了查询结果解析的复杂性。
摘要由CSDN通过智能技术生成

下面代码:

根据ID查用户 ,那么:

如果我们把它User中的 birthday改为 birth,那么就会出现下面问题【两种情况】:

1. birth 为空 例如: 

所以最简单的结局方法就是 语句加别名:

 所以证实了 数据库字段 一定要和返回类型User中的变量名一样! 其次查询出来是这样的: 【下面时间被我改过....】

 


最笨的办法是起别名AS  其次就是用 ResultMap:

<?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">


    <mapper namespace="com.bihu.Dao.UserMapper">
    <!--创建一个resultMap-->
<resultMap id="testResultMap" type="com.bihu.Bean.User">
    <!--下面的column是数据库字段名 property是Bean的字段-->
    <!--相当于手动把数据库数据封装到JavaBean字段中-->
    <result column="id" property="id"/>
    <result column="username" property="username"/>
    <result column="password" property="password"/>
    <result column="birthday" property="birth"/>  <!--主要是这个 因为数据库和Bean成员变量名对不上-->
</resultMap>
    <select id="findId" resultMap="testResultMap">
        select *
        from USER where id = #{id};
    </select>
    </mapper>
UserMapper.xml

这就是这个作用【之前在 一对一查询用过这个  也是手动封装类】

但是你可以把 数据库字段 和 JavaBean成员变量名不一样的才Result 一下 ,例如:

运行发现 结果也是一样的。

这就是 结果集  resultMap 最最最简单的使用 【解决字段名不一样】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值