案例描述:查看订单或购物车订单信息的同时查询出该订单中所有书籍的信息。

一、嵌套语句

@Select("select* from shopcart where shopcartid = #{id}")
@Results({ @Result(id = true, column = "shopcartid", property = "shopCartId"),
@Result(column = "bookid", property = "bookId"), @Result(column = "amount", property = "amount"),
@Result(column = "price", property = "price"), @Result(column = "status", property = "status"),
@Result(column = "bookid", property = "book", one = @One(select = "com.yh.mybatis.mapper.BookMapper.findBookInfoById")) })
ShopCart findShopCartInfoById(int id);

二、嵌套结果

// 查找刚刚添加的订单信息
@Select("select orderinfo.*,book.bookname,book.imgurl,book.introduction,book.packstyle,book.sellerid,book.price bookprice from orderinfo,book where orderinfo.bookid = book.bookid and orderid like '${orderId}%'")
@Results({ @Result(id = true, column = "identityid", property = "identityId"),
@Result(column = "orderid", property = "orderId"), @Result(column = "buyerid", property = "buyerId"),
@Result(column = "bookid", property = "bookId"), @Result(column = "amount", property = "amount"),
@Result(column = "orderdate", property = "orderDate"), @Result(column = "express", property = "express"),
@Result(column = "payment", property = "payment"), @Result(column = "addressid", property = "addressId"),
@Result(column = "price", property = "price"), @Result(column = "message", property = "message"),
@Result(column = "status", property = "status"),
// 自定义类成员变量的属性
@Result(column = "bookname", property = "book.bookName"),
@Result(column = "sellerid", property = "book.sellerId"),
@Result(column = "bookprice", property = "book.price"),
@Result(column = "imgurl", property = "book.imgUrl"),
@Result(column = "introduction", property = "book.introduction"),
@Result(column = "packstyle", property = "book.packStyle") })
List<Order> findLastOrder(@Param("orderId") String orderId);

MyBatis通过注解实现映射中的嵌套语句和嵌套结果的更多相关文章

  1. SQL Server中INSERT EXEC语句不能嵌套使用(转载)

    问: I have three stored procedures Sp1, Sp2 and Sp3.The first one (Sp1) will execute the second one ( ...

  2. mybatis 使用注解简化xml映射文件

    目录 关于mybatis注解 初次简单使用mybatis注解示例 利用注解实现指定映射 使用注解实现表间关联(1对1) 关于mybatis注解 注解在java中特别常见,mybatis中也支持注解. ...

  3. 小峰mybatis(4)mybatis使用注解配置sql映射器

    主流开发还是使用xml来配置:使用注解配置比较快,但是不支持所有功能:有些功能还是得用配置文件: 一.基本映射语句: @Inert @Update @Delete @Select 二.结果集映射语句 ...

  4. 【Mybatis架构】Mapper映射文件中的#{}与${}

    前言 还记得当初从北京回来的时候,跟着倪文杰师姐做JavaITOO的一卡通模块,我亲姐贾梦洁带着我一块做,期间,我遇到了一个特别奇葩的问题,就死我要实现Mybatis的模糊查询,根据当时亲姐教给我方法 ...

  5. 小峰mybatis(5)mybatis使用注解配置sql映射器--动态sql

    一.使用注解配置映射器 动态sql: 用的并不是很多,了解下: Student.java 实体bean: package com.cy.model; public class Student{ pri ...

  6. MyBatis 源码分析 - 映射文件解析过程

    1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来, ...

  7. mybatis学习(一)-------XML 映射配置文件详解

    XML 映射配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配 ...

  8. Spring+Mybatis基于注解整合Redis

    基于这段时间折腾redis遇到了各种问题,想着整理一下.本文主要介绍基于Spring+Mybatis以注解的形式整合Redis.废话少说,进入正题. 首先准备Redis,我下的是Windows版,下载 ...

  9. 【转载】Mybatis多参数查询映射

    转载地址:http://www.07net01.com/zhishi/402787.html 最近在做一个Mybatis的项目,由于是接触不久,虽然看了一下资料,但在实际开发中还是暴 露了很多问题,其 ...

随机推荐

  1. CobaltStrike上线Linux

    为获得最佳的阅读体验,请访问我的个人主页: https://xzajyjs.cn/ 在红蓝对抗中,我们常需要对目标进行长时间的控制,cobaltstrike原生对于上线windows比较轻松友好,但如 ...

  2. Merge into用法总结

    简单的说就是,判断表中有没有符合on()条件中的数据,有了就更新数据,没有就插入数据. 有一个表T,有两个字段a.b,我们想在表T中做Insert/Update,如果条件满足,则更新T中b的值,否则在 ...

  3. Linux系统僵尸进程详解

    大安好,我是良许. 本文我们将来讨论一下什么是僵尸进程,僵尸进程是怎么产生的,如何杀死一个僵尸进程. Linux中的进程是什么? 讲到进程,我们要先了解一下另一个概念:程序. 程序说白了就是躺在电脑硬 ...

  4. C#中OnLoad事件和Form1_Load事件的区别

    在学习<GDI+高级编程>第二章的过程中遇到一个疑问,就是为何有的代码用的是覆写一个OnLoad事件,而平日里我用的一般是Form1_Load事件,这两个函数很相近,但是具体有什么关系呢? ...

  5. 中文NER的那些事儿5. Transformer相对位置编码&TENER代码实现

    这一章我们主要关注transformer在序列标注任务上的应用,作为2017年后最热的模型结构之一,在序列标注任务上原生transformer的表现并不尽如人意,效果比bilstm还要差不少,这背后有 ...

  6. [atAGC054F]Decrement

    令$a_{i}$和$b_{i}$分别为$A_{i}$和$B_{i}$减少的值,考虑判定$\{a_{i}\},\{b_{i}\}$能否被得到 结论:$\{a_{i}\},\{b_{i}\}$能否被得到当 ...

  7. UI自动化测试:App的WebView页面中,当搜索栏无搜索按钮时处理方法

    一.遇到的问题 在做移动端的UI自动化测试时,经常会遇到上图所示的搜索框,这里有个麻烦就是搜索框没有"搜索"按钮,UI自动化测试时不能确认搜索. 要解决这个问题,我们可以通过 dr ...

  8. LoadRunner 2020 社区版本负载机(Load generator)Linux 安装教程

    1.HP官方注册 下载 LoadRunner_2020_Edition_Standalone_Applications_Micro_Focus_LoadRunner_2020_Community_Ed ...

  9. Swift-技巧(九)CGImage To CVPixelBuffer

    摘要 iOS 中图像的表现形式不只是 Image,还有更加底层的方式,比如 CVPixelBuffer 像素缓存形式,那么 CGImage 就可以转换为像素缓存的方式也是需要了解的. CGImage ...

  10. 洛谷 P6144 - [USACO20FEB]Help Yourself P(二项式定理+线段树)

    题面传送门 题意: 给定 \(n\) 条线段,第 \(i\) 条线段左右端点分别为 \(l_i,r_i\) 定义一个线段集合的复杂度为其形成的连通块的个数的 \(k\) 次方. 求这 \(n\) 条线 ...