Mybatis映射

<?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="mapper.OrderMapper">
    
    <select id="findOrderById" parameterType="int" resultType="ordersExt">
        SELECT o.*,u.username FROM orders o JOIN `user` u
        ON o.user_id=u.id WHERE o.id=#{id}
    </select>


    <!--====================== 一对一 =============================-->
    <!--如果模型中有模型,使用resultMap-->
    <resultMap id="orderRslMap" type="orders">
        <!--往orders的模型匹配数据-->
        <id column="id" property="id"></id>
        <result column="note" property="note"></result>
        <result column="number" property="number"></result>
        <result column="createTime" property="createTime"></result>
        <!--往orders的user模型匹配数据
            模型里有模型,使用associatuin来配置
            property:属性  javaType:模型  colum:字段名-->
        <association property="user" javaType="user">
            <id column="user_id" property="id"></id>
            <result column="username" property="username"></result>
            <result column="address" property="address"></result>
        </association>
    </resultMap>
    <select id="findOrderById2" parameterType="int" resultMap="orderRslMap">
        SELECT o.*,u.username,u.address FROM orders o JOIN `user` u
        ON o.user_id=u.id WHERE o.id=#{id}
    </select>


     <!--==================== 一对多  ======================-->
    <resultMap id="orderRslMap3" type="orders">
        <!--往orders的模型匹配数据-->
        <id column="id" property="id"></id>
        <result column="note" property="note"></result>
        <result column="number" property="number"></result>
        <result column="createTime" property="createTime"></result>
        <!--往orders的user模型匹配数据
            模型里有模型,使用associatuin来配置
            property:属性  javaType:模型  colum:字段名-->
        <association property="user" javaType="user">
            <id column="user_id" property="id"></id>
            <result column="username" property="username"></result>
            <result column="address" property="address"></result>
        </association>

        <!-- ui对多匹配:往orders的orderdetails匹配数据
              注意:集合里类型使用ofType,而不是JavaType-->
        <collection property="orderDetails" ofType="orderDetail">
            <id column="detail_id" property="id"></id>
            <result column="items_id" property="itemsId"></result>
            <result column="items_num" property="itemsNum"></result>
        </collection>
    </resultMap>
    <select id="findOrderById3" parameterType="int" resultMap="orderRslMap3">
        SELECT o.*,
        u.username,u.address,
        od.id detail_id,od.items_id,od.items_num
        FROM orders o
        JOIN `user` u
        ON o.user_id=u.id
        JOIN orderdetail od
        ON o.id=od.orders_id
        WHERE o.id=#{id}
    </select>
</mapper>

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值