MyBatis中一对一多表查询及一对一/一对多/多对一的意思
程序员文章站
2024-02-19 22:53:34
...
一对一
首先大家要明白“一对一”什么意思,我刚开始就是没搞明白“一对一”然后就是各种大神给我讲,我都一脸懵逼。
“一对一”:指的是表关系,举个亲切的列子来讲吧。把一个家庭看做一个数据库,每个成员是一个表,在独生子女家庭这个数据库里面一个母亲只有一个孩子,一个孩子只有一个母亲(亲生的)这就是一对一的关系。一对多的关系更好理解了,一个母亲有不止一个孩子,就是一对多。反过来孩子们有一个母亲就是多对一。
而不是,在操作表的时候一个操作需要一张表,或者多张表(我当时就是这样理解的)
我想碰到一对一多表查询让人困惑的就是resultMap标签里面的东西怎么写了
resultMap标签
其实很简单的,就是用association标签
下面贴一个我写的(这是一个三表查询,通过houseid查到butypeid然后再查到typeid,查到typname之最终结果)
这是三个表的表关系
这是resultMap标签里面的代码
<resultMap id="showHouseTypeInfoMap" type="House">
<id column="houseid" property="houseid"/>
<association property="buildType" javaType="BuildType">
<id column="butypeid" property="butypeid"/>
<result column="typeid" property="typeid"/>
<association property="type" javaType="Type">
<id column="typeid" property="typeid"/>
<result column="typename" property="typename"/>
</association>
</association>
</resultMap>
就是一级一级的往下写,直到最后找到typename
他们的嵌套关系是:(通过houseid查到butypeid然后再查到typeid,查到typname之最终结果)
这就是我今天搞明白的东西,现在一看还真是不一般的简单,真不知道自己当初在迷糊啥,哈哈哈哈哈
有帮助了点赞0,没看明白记得问哈
推荐阅读
-
MyBatis中一对一多表查询及一对一/一对多/多对一的意思
-
thinkphp中难道有语法定义一对多或一对一的关系吗
-
Django中数据库的数据关系:一对一,一对多,多对多
-
Mybatis动态sql、if与where的使用、sql片段、foreach遍历、Mybatis的关联查询一对一、一对多、多对多、Mybatis的延时加载
-
mybatis 一对一、一对多和多对多查询实例代码
-
mybatis 一对一、一对多和多对多查询实例代码
-
PageHelper插件实现一对多查询时的分页问题
-
详解sql中的参照完整性(一对一,一对多,多对多)
-
mybatis 的一对一关联查询association
-
关于MyBatis 查询数据时属性中多对一的问题(多条数据对应一条数据)