在开发中经常用到多表查询,这里演示三表查询的情况。
业务逻辑:购物车订单的逻辑
该逻辑共涉及到三张表
1. order表 就是订单表 记录 订单人的信息、订单地址、订单号、订单的总价, 一条订单记录可能会有多个商品所以 有创建了一个订单详情表
2. 订单详情表记录、订单中一种商品的总价,数量
3. 商品表、记录商品的详情
要求展示的是订单记录:
那么就用到了多表查询,同时在这三个表中查询
订单与订单详情是1对多的关系 订单详情与商品是1对1关系,在resultMap中要这样写
<resultMap id="orderResultMap" type="com.hd.entity.Order">
<id column="orderId" jdbcType="INTEGER" property="id" />
<result column="loginName" jdbcType="VARCHAR" property="loginName" />
<result column="userAddress" jdbcType="VARCHAR" property="userAddress" />
<result column="allCost" jdbcType="REAL" property="cost" />
<result column="serialnumber" jdbcType="VARCHAR" property="serialnumber" />
<collection property="orderDetailList" ofType="com.hd.entity.OrderDetail" >
<result column="orderDetailId" property="id"></result>
<result column="quantity" property="quantity"></result>
<result column="cost" property="cost"></result>
<association property="product" javaType="com.hd.entity.Product">
<id column="productId" property="id"></id>
<id column="fileName" property="fileName"></id>
</association>
</collection>
</resultMap>