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已经进行了自动传入。

  • 相关阅读:
    Python基础-数据写入execl
    Python基础-读取excel
    table合并单元格colspan和rowspan
    从PHP客户端看MongoDB通信协议(转)
    win7环境下mongodb分片和移除
    32位下操作mongodb心得
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1099 bytes) in
    js关闭当前页面(窗口)的几种方式
    js页面跳转 和 js打开新窗口 方法
    MongoDB中的_id和ObjectId
  • 原文地址:https://www.cnblogs.com/phpyangbo/p/15705580.html
Copyright © 2011-2022 走看看