一对一查询

  2.1 需求(查询所有订单信息,关联查询创建订单的用户信)

查询所有订单信息,关联查询创建订单的用户信息

注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询。如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单。

  2.2 方法一:resultType

使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息:

    2.2.1 sql语句

确定查询的主表:订单表

确定查询的关联表:用户表

  关联查询使用内链接?还是外链接?

  由于orders表中有一个外键(user_id),通过外键关联查询用户表只能查询出一条记录,可以使用内链接。

SELECT
orders.*,
USER.username,
USER.sex,
USER.address
FROM
orders,
USER
WHERE orders.user_id = user.id

    2.2.2 创建pojo

将上边sql查询的结果映射到pojo中,pojo中必须包括所有查询列名(字段)。

原始的Orders.java不能映射全部字段,需要新创建的pojo。

创建一个pojo继承包括查询字段较多的po类。

原始的Orders.java

OrdersCustom.java

    2.2.3 mapper.xml

    2.2.4 mapper.java

2.2.5 测试代码

mybatis由浅入深day02_2一对一查询_2.2方法一:resultType的更多相关文章

  1. mybatis由浅入深day02_2一对一查询_2.3方法二:resultMap_resultType和resultMap实现一对一查询小结

    2.3 方法二:resultMap 使用resultMap,定义专门的resultMap用于映射一对一查询结果. 2.3.1 sql语句 同resultType实现的sql SELECT orders ...

  2. mybatis由浅入深day01_1课程安排_2对原生态jdbc程序中问题总结

    mybatis 第一天 mybatis的基础知识 1 课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开 ...

  3. 【MyBatis学习08】高级映射之一对一查询

    从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一.一对多.多对多查询,这篇先总结一下mybatis中的一对一查询.  为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到 ...

  4. 18_高级映射:一对一查询(使用resultMap)

    [简述] 数据库模型和数据等信息与上一篇博文相同. 需求也同上一篇博文. [工程截图] [User.java]POJO package cn.higgin.mybatis.po; import jav ...

  5. mybatis0202 一对一查询 resultType实现

    一对一查询 查询订单信息和用户信息 创建po类 基础的单表的 po(数据库类)类:Items.java, Orderdetail.java, Orders.java, User.java 一对一查询映 ...

  6. Mybatis多表查询之一对一查询的多种实现-XML配置

    Mybatis 中对于多表查询提供了非常强大的实现方式,主要是通过resultMap的结果映射对于多表查询后的返回值进行封装,让我们来看一下官网上对于resultMap的解释:resultMap 元素 ...

  7. mybatis进阶--一对一查询

    所谓的一对一查询,就是说我们在查询一个表的数据的时候,需要关联查询其他表的数据. 需求 首先说一个使用一对一查询的小需求吧:假设我们在查询某一个订单的信息的时候,需要关联查询出创建这个订单对应的用户信 ...

  8. Mybatis高级查询之一对一查询的四种方法

    目录 1. 一对一查询 1.1 一对一嵌套结果查询 1.2 使用resultMap配置一对一映射 1.3 使用resultMap的association标签配置一对一映射 1.4 associatio ...

  9. MyBatis一对一查询

    ---------------------siwuxie095                                 MyBatis 一对一查询         以订单和用户为例,即 相对订 ...

随机推荐

  1. laravel 代码维护, 使用php artisan使用应用程序处于维护状态

    当应用程序处于维护的时候,我们可以暂时关闭程序,具体的做使用是使用php artisan downartisan 是laravel根目录下的一个程序,当执行了这个命令时,会调用 app/start/g ...

  2. 编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本]

    编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本] 1. 开发环境 Jdk 1.7.0_72 Maven 3.2.1 Scala 2.10.6 Spark 1.6 ...

  3. eclipse ant 的自动部署(autobulid)

    在写项目中,经常需要在 ctrl+s的时候自动编译并且把这个改动的文件copy至某个目录,除了eclipse自带 java脚本的web自动部署到项目中配置的目录下,但是不能随心所欲copy,比如其他文 ...

  4. perl ExtUtils::Manifest

    Can't locate ExtUtils/Manifest.pm in @INC (you may need to install the ExtUtils::Manifest module) yu ...

  5. nand ECC 算法记录

    nandflash ECC 原理记录. nand ECC 全称是Error Checking and correction. 该算法分为列校验和行校验. 列校验有下图所示: * 如上图所示, CP0 ...

  6. Android-——多线程之Handler(转)

    Android--多线程之Handler 原文地址:http://www.cnblogs.com/shirley-1019/p/3557800.html 前言 Android的消息传递机制是另外一种形 ...

  7. 正确配置Linux系统ulimit值的方法

    在Linux下面部署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题:这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且L ...

  8. Thinkphp3.2版本Controller和Action的访问方法

    一.3.2版本以前controller和action的访问方式在3.2版本以前如果Controller=c.Action=a的话,访问规则如下:http://localhost:81/demo1/in ...

  9. 一、think in java 第一章

    一.面向对象程序设计方式: 1.万物皆为对象. 将对象视为奇特的变量,它可以存储数据,也可以要求它在自身上执行操作. 2.程序是对象的集合,它们通过发送消息来告知彼此所要做的. 要请求一个对象,就必须 ...

  10. RRD.so文件 rrdruby

    ubuntu 12.04绑定rrdruby gem install librrd 用来装rrdruby,这样才能找到RRD.so文件然后在rb文件中加入这两句话: $: << '/path ...