11-20 张森霖

mybaties关联查询

MyBatis中的一对多、多对一和多对多,主要就是resultMap中:

一对一:子表从母表中选出一条数据一一对应,母表中选出来一条就少一条,子表不可以再选择母表中已被选择的那条数据

一对多:子表从母表中选出一条数据一一对应,但母表的这条数据还可以被其他子表数据选择

共同点是在admin中添加数据的话,都会出现一个select选框,但只能单选,因为不论一对一还是一对多,自己都是“一”

  • association:一个复杂的类型关联。许多结果将包成这种类型(一对多)

  • collection:复杂类型的集合(多对一)
    这2个属性的使用,而一对多和多对一都是相互的,只是站的角度不同。

  • <mapper namespace="com.itlaobing.dao.IRoleDao">
    <!-- 建立对应关系 -->
    <resultMap type="role" id="roleMap">
    <id column="id" property="id"/>
    <result column="role_name" property="roleName"/>
    <result column="role_desc" property="roleDesc"/>
    <!-- collection 是用于建立一对多中集合属性的对应关系
    ofType 用于指定集合元素的数据类型
    property 指在实体中的属性名
    -->
    <collection property="users" ofType="user">
    <id column="userId" property="id"/>
    <result column="name" property="name"/>
    <result column="password" property="password"/>
    </collection>

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1