关于mybatis中数据表多表交互处理

来源:互联网 发布:python cdll 编辑:程序博客网 时间:2024/05/29 13:24

多表关联 : 

    多对多:

<!-- 多表级联查询 -->
    <select id="selectMobileUserDetail" resultMap="MobileUserBeanRes">
        select
        c.*,
        d.*,
        u.*
        from
        crownmobileuser  c,
        user_productdetail u,
        crownproductdetail d
        where c.id = u.mobileuserid and u.productdetailid = d.id and c.username = #{username}
    </select>


<resultMap type="com.proxy.crown.bean.MobileUserBeanRes" id="MobileUserBeanRes">
        <result property="id" column="user_id" />
        <result property="username" column="username" />
        <result property="password" column="password" />
        <result property="identifycode" column="identifycode" />

        <collection property="mobileUserProductBeans" javaType="java.util.List" ofType="com.proxy.crown.bean.MobileUserProductBean">
            <id property="id" column="userproduct_id" />
            <result property="productdetailid" column="productdetailid" />
            <result property="mobileuserid" column="mobileuserid" />
        </collection>

        <collection property="resultData" javaType="java.util.List" ofType="com.proxy.crown.bean.ProductDetailBean">
            <id property="id" column="product_id" />
            <result column="productdetailname" property="productdetailname" jdbcType="VARCHAR" />
            <result column="productdetailrelationtype" property="productdetailrelationtype" jdbcType="VARCHAR" />
            <result column="productdetailsupplier" property="productdetailsupplier" jdbcType="VARCHAR" />
            <result column="productdetailsupplierphone" property="productdetailsupplierphone" jdbcType="VARCHAR" />
            <result column="productdetaildistributor" property="productdetaildistributor" jdbcType="VARCHAR" />
            <result column="productdetailtype" property="productdetailtype" jdbcType="VARCHAR" />
            <result column="productdetailhandlingperson" property="productdetailhandlingperson" jdbcType="VARCHAR" />
            <result column="productdetailaddress" property="productdetailaddress" jdbcType="VARCHAR" />
            <result column="productdetaildesc" property="productdetaildesc" jdbcType="VARCHAR" />
            <result column="productdetailnum" property="productdetailnum" jdbcType="VARCHAR" />
            <result column="productid" property="productid" jdbcType="INTEGER" />
            <result column="productname" property="productname" jdbcType="VARCHAR" />
        </collection>
    </resultMap>