mybatis多表查询(xml)

多表查询都用resultMap

resultMap

说白了就是他可以手动设置映射参数,例如

可以指定

column代表数据库的参数 property 代表实体类的参数

java 复制代码
<id column="roleid" property="id"></id> column代表数据库的参数 property 代表实体类的参数

 <result property="roleDesc" column="roleDesc"></result>

<result property="rolename" column="rolename"></result>

一对多查询

一个订单可以被多个用户拥有

复制代码
    <resultMap id="orderResultMap" type="order">  第一个参数 定义标识符 第二个参数 要填写的实体类
XML 复制代码
        <id column="oid" property="id"></id>           
        <result column="ordertime" property="ordertime"></result>
        <result property="total" column="total"></result>
<!--        <result property="user.id" column="uid"></result>-->
<!--        <result property="user.username" column="username"></result>-->
<!--        <result property="user.password" column="password"></result>-->
<!--        <result property="user.birthday" column="birthday"></result>-->
        设置专门的user对象
        <association property="user" javaType="user">   这个标签专门用于对象
            <result column="uid" property="id"></result>
            <result column="username" property="username"></result>
            <result column="password" property="password"></result>
            <result column="birthday" property="birthday"></result>
        </association>
    </resultMap>
​
    <select id="findAll"  resultMap="orderResultMap">
        select * ,o.id oid from user u,orders o where u.id =o.uid;
    </select>
XML 复制代码
  <resultMap id="userAndRoleMap" type="user">
        <id column="userid" property="id"></id>
        <result property="birthday" column="birthday"></result>
        <result property="username" column="username"></result>
         <result property="password" column="password"></result>
        <collection property="listRole" ofType="role"> 还有一种是专门用于集合
            <id column="roleid" property="id"></id>
            <result property="roleDesc" column="roleDesc"></result>
            <result property="rolename" column="rolename"></result>
        </collection>
    </resultMap>
相关推荐
悄悄地努力2 分钟前
IDEA 新建 SpringBoot 项目时,没有高版本 SpringBoot 可选
java·spring boot·intellij-idea
PWRJOY25 分钟前
Flask-SQLAlchemy_数据库配置
数据库·python·flask
檀越剑指大厂28 分钟前
【PostgreSQL系列】PostgreSQL 复制参数详解
数据库·postgresql
L耀早睡36 分钟前
Spark缓存
大数据·数据库·spark
救救孩子把41 分钟前
Mac 环境下 JDK 版本切换全指南
java·开发语言·macos
路飞雪吖~1 小时前
【Linux】共享内存
java·linux·服务器
kngines1 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】1.4 数据库与表的基本操作(DDL/DML语句)
数据库·postgresql·数据分析·cte·age
caihuayuan41 小时前
鸿蒙AI开发:10-多模态大模型与原子化服务的集成
java·大数据·sql·spring·课程设计
lyrhhhhhhhh1 小时前
MyBatis 延迟加载与缓存
sql·缓存·mybatis
沉到海底去吧Go1 小时前
软件工具:批量图片区域识别+重命名文件的方法,发票识别和区域选择方法参考,基于阿里云实现
数据库·阿里云·云计算