mybatis 多表关联__手动处理映射关系

mybatis 多表关联__手动处理映射关系

1.1 当pojo里面的javabean属性名和表的字段不一样时,mapper不能自动映射到
image

image

1.2 处理方法
resultMap 标签是 Mybatis 最强大的元素,它可以将查询到的复杂数据(比如查询到几个表 中数据)映射到一个结果集当中
1.3resultMap 的基础使用场景
在 Mybatis 中如果查询的结果集的列名与 POJO 的属性名相同,那么我们是不需要在 Mybatis 中配置映射关系的,但是当查询到的结果集的列名与 POJO 的属性名不匹配时, Mybatis 是无法完成影射处理的。 解决方案:
 通过定义列别名的方式来解决该问题。
     就是写mysql查询时 用 select userid as id from users 改名
 通过在 resultMap 标签中定义映射关系来解决该问题。

mapper配置

点击查看代码
<?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.bjsxt.mapper.UsersMapper">
<!--    type 对应javabea-->
    <resultMap id="UsersMapper" type="com.bjsxt.pojo.Users" >
<!--        property 对应pojo那边的属性,column 对应sql 字段名-->
<!--        主键对应id-->
        <id property="userid" column="id"/>
<!--        剩下的用result-->
        <result property="username" column="name"/>
        <result property="usersex" column="sex"/>
    </resultMap>
<!--    这里也要改为resultMap="UsersMapper"-->
    <select id="selectUsersAll" resultMap="UsersMapper">
        select userid as id,username as name,usersex as sex from users
    </select>
</mapper>
posted @ 2021-11-28 15:57  风的指引  阅读(189)  评论(0)    收藏  举报