orders類(com.changez.sm.base.bean.Orders)主要屬性:
PRivate String id; private String userId; private String orderNum; private Date createTime; private String note; private User user; private Set<Ordertail> ordertails;User類(com.changez.sm.base.bean.User)主要屬性:private String id; private String username; private Date birthday; private String sex; private String address;ordertail類(com.changez.sm.base.bean.Ordertail)主要屬性:private int id; private int orderId; private int itemId; private int itemNum;一對多查詢:
collection:
property:bean中集合的屬性名,
ofType:集合類型全限定名
select語句:其中的resultMap有以下兩種選擇: queryOrderAndDetailResultMapExtends或者queryOrderAndDetailResultMap
<!-- 一對多查詢 :查詢訂單及訂單明細的信息 --> <select id="queryOrderAndDetail" resultMap="queryOrderAndDetailResultMap"> SELECT tco.id ordersid, tco.user_id, tco.order_num, tco.create_time, tcd.id ordertailid, tcd.order_id, tcd.item_id, tcd.item_num, tcu.id userid, tcu.username, tcu.birthday, tcu.sex, tcu.address from temp_changez_orders tco, temp_changez_ordertail tcd, temp_changez_user tcu WHERE tco.id=tcd.order_id AND tco.user_id=tcu.id </select>resultMap語句(方式一,將一對一, 一對多關系都寫完整):<resultMap type="com.changez.sm.base.bean.Orders" id="queryOrderAndDetailResultMap"> <id column="ordersid" property="id"/> <result column="user_id" property="userId"/> <result column="order_num" property="orderNum"/> <result column="create_time" property="createTime"/> <result column="note" property="note"/> <!-- 一對一的關系配置, 此處可以刪掉,不影響一對多的配置 --> <association property="user" javaType="com.changez.sm.base.bean.User"> <id column="userid" property="id"/> <result column="username" property="username"/> <result column="birthday" property="birthday"/> <result column="address" property="address"/> <result column="sex" property="sex"/> </association> <!-- 一對多的關系配置 --> <collection property="ordertails" ofType="com.changez.sm.base.bean.Ordertail"> <id column="ordertailid" property="id"/> <result column="order_id" property="orderId"/> <result column="item_id" property="itemId"/> <result column="item_num" property="itemNum"/> </collection> </resultMap>resultMap語句(方式二,在一對一的關系中已經(jīng)配置了orders和user的一對一關系, 可以使用extends關鍵字引用已有的對照關系):
<!-- 使用extends --> <resultMap type="com.changez.sm.base.bean.Orders" id="queryOrderAndDetailResultMapExtends" extends="queryOrderAndUserResultMap"> <collection property="ordertails" ofType="com.changez.sm.base.bean.Ordertail"> <id column="ordertailid" property="id"/> <result column="order_id" property="orderId"/> <result column="item_id" property="itemId"/> <result column="item_num" property="itemNum"/> </collection> </resultMap>orders和user的一對一關系配置:<resultMap type="com.changez.sm.base.bean.Orders" id="queryOrderAndUserResultMap"> <id column="ordersid" property="id"/> <result column="user_id" property="userId"/> <result column="order_num" property="orderNum"/> <result column="create_time" property="createTime"/> <result column="note" property="note"/> <association property="user" javaType="com.changez.sm.base.bean.User"> <id column="userid" property="id"/> <result column="username" property="username"/> <result column="birthday" property="birthday"/> <result column="address" property="address"/> <result column="sex" property="sex"/> </association> </resultMap>
新聞熱點
疑難解答