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 小时前
Spring Al学习7:ImageModel
java·学习·spring
骇客野人3 小时前
mysql笛卡尔积怎么形成的怎么避免笛卡尔积
数据库·mysql
lang201509283 小时前
Spring远程调用与Web服务全解析
java·前端·spring
m0_564264184 小时前
IDEA DEBUG调试时如何获取 MyBatis-Plus 动态拼接的 SQL?
java·数据库·spring boot·sql·mybatis·debug·mybatis-plus
崎岖Qiu4 小时前
【设计模式笔记06】:单一职责原则
java·笔记·设计模式·单一职责原则
Hello.Reader4 小时前
Flink ExecutionConfig 实战并行度、序列化、对象重用与全局参数
java·大数据·flink
隐语SecretFlow5 小时前
隐语SecreFlow SCQL 1.0.0b1 发布:更完善的 SQL 支持与更高效的隐私查询引擎
数据库·sql
熊小猿5 小时前
在 Spring Boot 项目中使用分页插件的两种常见方式
java·spring boot·后端
paopaokaka_luck5 小时前
基于SpringBoot+Vue的助农扶贫平台(AI问答、WebSocket实时聊天、快递物流API、协同过滤算法、Echarts图形化分析、分享链接到微博)
java·vue.js·spring boot·后端·websocket·spring
ttghgfhhjxkl5 小时前
文档搜索引擎搜索模块的索引更新策略:实时增量与全量重建设计
数据库·搜索引擎