其他分享
首页 > 其他分享> > mybatis ResultMap结果集映射

mybatis ResultMap结果集映射

作者:互联网

下面代码:

 

 

 

根据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 最最最简单的使用 【解决字段名不一样】

 

标签:下面,映射,ResultMap,User,birth,mybatis,变量名,id
来源: https://www.cnblogs.com/bi-hu/p/15220958.html