zoukankan      html  css  js  c++  java
  • 一对一,一对多,多对一,自关联

    1.SQL片段
    <sql id="columns">
    stuname,stuage
    </sql>
    <select>
    select <include refid="columns"></include> from student
    </select>
    2.一对多 Dad------>Son

    两种方案:单条SQL

    <resultMap id="DadMapper" type="Dad">
    <id property="fatherid" column="fatherid"></id>
    <collection property="sons" ofType="Son">
    <id property="sonid" column="sonid"></id>
    <result property="sonname" column="sonname"/>
    </collection>
    </resultMap>
    <select resultMap="DadMapper">
    select sonname,fathername from son,dad where son.fatherid=dad.fatherid
    and dad.fatherid=#{fatherid}
    </select>

    多条SQL
    多对一:两种方案:单条SQL
    多条SQL
    自关联:无限级菜单
    DB表结构
    Category表名
    cid cname pid
    1 服装 0
    2 儿童服装 1
    3 儿童男装 2

    xml 思想递归
    :使用的是一对多 一个分类关联一个分类集合。
    <resultMap id="CategoryMapper" type="Category">
    <id column="cid" property="cid"></id>
    <result column="cname" property="cname"></result>
    <collection property="cates" ofType="Category" select="getChildrenListByPid" column="cid">
    </collection>
    </resultMap>
    <!--查询-->
    <select id="getChildrenListByPid" resultMap="CategoryMapper">
    select * from category where pid=#{pid}
    </select>
    dao层:
    List<Category> List<List<List<Category>>>


    多对多:老师和学生

  • 相关阅读:
    Singleton模式
    Factory模式
    AbstactFactory模式
    Maven的介绍及使用
    MySQL索引分析及使用
    Runnable接口和Callable接口的区别
    Java中的常见数学运算
    mkdir()和mkdirs()区别
    面试小问题——Object中有哪些常用方法?
    面试小问题——什么是多态?
  • 原文地址:https://www.cnblogs.com/hsa521/p/7678427.html
Copyright © 2011-2022 走看看