Mybatis_一对多关联查询

person表对应orders表,一个人能下好几个订单。查询一个人下的所有订单。

有Orders类和Person类。

在Person类中加上一句:

private List<Orders> orderList;  并生成setter getter。

    <!--=======多表关联查询=======-->
    <!-- collection:集合的意思,property要和类中list名一样 ,ofType是集合中泛型也就是属性类型是什么-->
    <resultMap type="person" id="selectOrderByPersonIdRM">
        <id column = "person_id" property = "personId" />
        <result column = "name" property = "name" />
        <result column = "gender" property = "gender" />
        <result column = "person_addr" property = "personAddr" />
        <result column = "birthday" property = "birthday" />
        <collection property="orderList" ofType="xxx.x.model.Orders">
            <id column = "ORDER_ID" property = "orderId" />
            <result column = "PERSON_ID" property = "personId" />
            <result column = "TOTAL_PRICE" property = "totalPrice" />
            <result column = "ADDR" property = "addr" jdbcType="VARCHAR" />
        </collection>
    </resultMap>
    <select id = "selectOrderByPersonId" parameterType="int" resultMap="selectOrderByPersonIdRM">
        select * from person p, order o where p.PERSON_ID = o.person_id and p.PERSON_ID = #{id}
    </select>
    public void selectOrderByPersonId() {
        // 创建SqlSession
        SqlSession session = sessionFactory.openSession();
        try {
            Person person = session.selectOne("xxx.x.mapper.PersonTestMapper.deleteBatch", 1);
            System.out.println(person);
        } catch (Exception e) {
            e.printStackTrace();
            session.rollback();
        } finally {
            session.close();
        }
    }

原文地址:https://www.cnblogs.com/lonske/p/9015806.html

时间: 2024-11-05 14:59:34

Mybatis_一对多关联查询的相关文章

[转]NHibernate之旅(10):探索父子(一对多)关联查询

本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NHibernate查询语言(HQL,NHibernate Query Language).条件查询(Criteria API,Query By Example(QBE)是Criteria API的一种特殊情况).原生SQL(Literal SQL,T-SQL.PL/SQL).这一节分别使用这三种方式来

MyBitis(iBitis)系列随笔之五:多表(一对多关联查询)

MyBitis(iBitis)系列随笔之一:MyBitis入门实例 MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM) MyBitis(iBitis)系列随笔之三:简单实现CRUD MyBitis(iBitis)系列随笔之四:多表(多对一查询操作) MyBitis(iBitis)系列随笔之五:多表(一对多关联查询) MyBitis(iBitis)系列随笔之六:mybitis与spring集成 这篇博文介绍的是多表中的一对多表关联查询还是按照上一

mybatis一对多关联查询+pagehelper-&gt;分页错误(toSolve)

mybatis一对多关联查询+pagehelper->分页错误. 现象: 网上其他人遇到的类似问题:https://segmentfault.com/q/1010000009692585 解决: todo 疑惑: 之前有人提过类似的issue(https://github.com/pagehelper/Mybatis-PageHelper/issues/149)为什么被关闭了 原文地址:https://www.cnblogs.com/goingforward/p/8492448.html

mybatis collection 一对多关联查询,单边分页的问题总结!

若想直接通过sql实现多级关联查询表结构得有2 个必不可少的字段:id ,parentId,levelId id:主键id, parentId:父id levelId:表示第几级(表本身关联查询的时候需要用到,不然会有重复数据) 利用mybatis collection 实现一对多关联查询 Dto:(一级) public class ProvinceInfoDTO implements Serializable { private String id; private String name;

MyBatis关联查询,一对多关联查询

实体关系图,一个国家对应多个城市 一对多关联查询可用三种方式实现: 单步查询,利用collection标签为级联属性赋值: 分步查询: 利用association标签进行分步查询: 利用collection标签进行分步查询 单步查询 利用collection标签实现一对多单步关联查询: 指定进行关联查询的Java Bean字段,即collection标签的 property 属性: 指定集合中的Java Bean类型,即collection标签的 ofType属性: 实体类 public cla

mybatis一对多关联查询——(九)

1.需求: 查询所有订单信息及订单下的订单明细信息. 订单信息与订单明细为一对多关系. 2.      sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可. SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.items_num, orderdetail.o

springboot JPA 一对多关联查询 ,动态复杂查询 去除重复数据 in语句使用

目的:根据图书的发布地区查询图书信息实现步骤:1 实体配置one: 图书信息 bookmany: 地区信息 bookarea实体映射,单向映射 book 中增加 area 的集合 并设置 @JoinColumn(name="bookid")@OneToMany bookarea中不需要设置关系 编写查询语句Repository 继承 JpaSpecificationExecutor 重写findAll 并实现 Specification接口的 public Predicate toPr

laravel 中将一对多关联查询的结果去重处理

先交代下数据表结构 主表(订单表)order数据 ord_id order_sn 1 EX2019100123458 其中主键为order_id(订单id) 子表(门票表)order_item数据 ord_ite_id ord_id exhibit_sn type 1 1 EXSN20191001001 1 2 1 EXSN20191001002 1 3 1 EXSN20191001003 1 主表与子表之间通过 ord_id进行关联 实现:通过通过子表的 type(门票类型)查询主表中的订单编

MyBatis 一对多关联查询

sqlxml文件 <?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"> <mapper namespace="ClassStudent"&g