mybatis的一对多和多对一

<!-- 订单及订单明细resultmap -->
    <resultMap type="cn.mybatis.po.Orders" id="ordersAndOrderdetailResultMap" >
         <!-- 结果集的唯一标识 -->
        <id property="id" column="id" />
        <result property="user_id" column="user_id" />
        <result property="order_number" column="order_number" />
        <!-- 配置关联用户信息 查询一个关联类型是user -->
        <association property="user" javaType="cn.mybatis.po.User">
            <!-- 关联查询用户信息的唯一标识 一对一关联这里不用配置<id,建议都配置唯一标识 property:是java类中的属性名 column:是sql查询的结果集 -->
            <id property="id" column="user_id" />
            <result property="username" column="username" />
            <result property="address" column="address" />
        </association>

        <!-- 订单明细
        collection:关联查询出一个集合
        ofType:集合中的对象类型
        -->
        <collection property="orderdetails" ofType="cn.mybatis.po.Orderdetail">
            <!-- 订单明细唯一标识 -->
            <id property="id" column="orderdetail_id"/>
            <result property="item_id" column="item_id"/>
            <result property="item_num" column="item_num"/>
            <result property="item_price" column="item_price"/>
        </collection>
    </resultMap>
时间: 2024-10-09 13:36:46

mybatis的一对多和多对一的相关文章

mybatis的一对多,多对一,以及多对对的配置和使用

1.本文章是无意中看见易百教程的Mybatis教程才注意到这个问题,平时都仅仅是在用CRUD,忽略了这方面的问题,真实十分羞愧 2.首先我们开始对mybatis的一对多的探究 根据这个应用场景,我们需要获取在查询一个用户信息的时候还要去读取这个用户发布的帖子 现在我们来看一看用户级联文章在JavaBean中的编写方式,这就是一对多在JavaBean中的配置 现在我们再来看一看Mybatis的Mapper该如何编写一对多?很简单,就是在resultMap标签中配置<collection>标签,用

Mybatis入门---一对多、多对多

前几天自己配置了Mybatis的高级查询:一对多和多对多,现在记录一下,方便以后用到的时候再回顾,下面是具体的操作步骤 一.首先就是配置Mybatis的xml文件及mapper的xml文件,在这里就不多说了,之前写过这个基本的配置,可以参考:https://www.cnblogs.com/blogs-of-xiu/p/10405407.html 经过配置完基本的xml文件之后,我们就开始实现一对多和多对多的需求. 我这里举的例子是用户和订单,一个用户可以对应多个订单,所以需要的表也是用户表和订单

7.Mybatis的一对多,多对一处理

一.代码简化工具Lombok(只要了解,一般不用) Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率.例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器.equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误. Lombok能通过注解的方式,在编译时自动为属性生成构造器.getter/setter.e

MyBatis:一对多、多对一处理

多对一的处理 多对一的理解: 多个学生对应一个老师 如果对于学生这边,就是一个多对一的现象,即从学生这边关联一个老师! 数据库设计 CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8 INSERT INTO teacher(`id`, `name`) VALUES (1, '秦

Mybatis:(七) 一对多,多对一

一.前言 在实际的应用场景中,可能会遇到各种复杂关系的业务,所以经常会用到一对多,多对一的概念来处理复杂的关系 一对多: 多对一:多个老师对应一个学生 数据库 student{id,name,tid} teacher{id,name} student中tid 和 teacher表中id为外键关系 二.多对一 按照查询嵌套处理 实体类 public class Teacher { private int id; private String name; } public class Student

Mybatis 中一对多,多对一的配置

现在有很多电商平台,就拿这个来说吧.顾客跟订单的关系,一个顾客可以有多张订单,但是一个订单只能对应一个顾客. 一对多的顾客 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd&quo

MyBatis 详解(一对一,一对多,多对多)

1.什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO). MyBatis 是支持普通 SQL查

Mybatis(四) 高级映射,一对一,一对多,多对多映射

天气甚好,怎能不学习? 一.单向和双向 包括一对一,一对多,多对多这三种情况,但是每一种又分为单向和双向,在hibernate中我们就详细解析过这单向和双向是啥意思,在这里,在重复一遍,就拿一对多这种关系来讲,比如有员工和部门,一个部门中有多个员工,从部门方看,是一对多关系,而多名员工属于一个部门,是多对一关系,那么如果我们的业务需求只需要通过部门查找到所有的员工,那么我们就只需要进行单向一对多的映射,如果我们需要通过员工来查询出对应的部门,那么我们就需要进行单向多对一的映射,而如果我们这两个业

mybatis关联查询问题(一对多、多对一)

mybatis 提供了高级的关联查询功能,可以很方便地将数据库获取的结果集映射到定义的Java Bean 中.下面通过一个实例,来展示一下Mybatis对于常见的一对多和多对一关系复杂映射是怎样处理的. 设计一个简单的博客系统,一个用户可以开多个博客,在博客中可以发表文章,允许发表评论,可以为文章加标签.博客系统主要有以下几张表构成: Author表:作者信息表,记录作者的信息,用户名和密码,邮箱等. Blog表   :  博客表,一个作者可以开多个博客,即Author和Blog的关系是一对多.