zoukankan      html  css  js  c++  java
  • SpringBoot mybatis多对一查询、多对多查询

    查询用户列表,并查询每个用户下面最新的一个订单,和每个用户下面的所有订单。

    package com.yutangzongcai.demo.mapper;
    
    import com.yutangzongcai.demo.entity.DingdanEntity;
    import com.yutangzongcai.demo.entity.UsersEntity;
    import org.apache.ibatis.annotations.*;
    
    import java.util.List;
    
    public interface UsersMapper {
    
        /**
         * 查询用户列表
         * 同时多对一 【查询用户最新1个订单】
         * 同时多对多 【查询用户所有订单】
         * @return
         */
        @Select("select id,name,age from users order by id asc")
        @Results(id = "empMap", value = {
                @Result(column = "id", property = "id", id = true),
                @Result(column = "name2", property = "name"),
                @Result(column = "id", property = "dingdanOne", one = @One(select = "com.yutangzongcai.demo.mapper.UsersMapper.dingdanOne")),
                @Result(column = "id", property = "dingdanMany", many = @Many(select = "com.yutangzongcai.demo.mapper.UsersMapper.dingdanMany"))
        })
        List<UsersEntity> all();
    
        /**
         * 查询用户最新1个订单
         * @param userId
         * @return
         */
        @Select("select * from dingdan where userId=#{userId} order by id desc limit 0,1")
        DingdanEntity dingdanOne(@Param("userId") Integer userId);
    
        /**
         * 查询用户所有订单(按最新排序)
         * @param userId
         * @return
         */
        @Select("select * from dingdan where userId=#{userId} order by id desc")
        List<DingdanEntity> dingdanMany(@Param("userId") Integer userId);
    
    }

    在使用@Result注解进行one对一关联或many对多关联时,必须设置主键,只有设置了主键,才能通过主键传入参数,进行子查询。

    关联查询时,被关联的方法入参userId,是由@Result设置中的主键所决定的,这里mybatis已经进行了自动传入。

  • 相关阅读:
    PyDev for eclipse 插件下载地址
    Impala SQL 语言元素(翻译)[转载]
    oracle9i-11.2安装包及补丁包下载链接
    oracle link的创建过程
    Oracle 查询历史数据(转帖)
    Alpha、Beta、RC、GA版本的区别
    oracle wm_concat(column)函数的使用
    Quest.Central.for.DB2.v5.0.2.4下载地址
    Hadoop 管理工具HUE配置-初始配置
    maven编译下载源码
  • 原文地址:https://www.cnblogs.com/phpyangbo/p/15705580.html
Copyright © 2011-2022 走看看