2 一对一查询 2.1 需求(查询所有订单信息,关联查询创建订单的用户信息) 查询所有订单信息,关联查询创建订单的用户信息 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询.如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单. 2.2 方法一:resultType 使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息: 2.2.1 sql语句 确定查询的主表:订单表 确定查询的关联表:用户表…
2.3 方法二:resultMap 使用resultMap,定义专门的resultMap用于映射一对一查询结果. 2.3.1 sql语句 同resultType实现的sql SELECT orders.*, USER.username, USER.sex, USER.address FROM orders, USER WHERE orders.user_id = user.id 2.3.2 使用resultMap映射的思路 使用resultMap将查询结果中的订单信息映射到Orders对象中,在…
mybatis 第一天 mybatis的基础知识 1 课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理(掌握) mybatis入门程序 用户的增.删.改.查 mybatis开发dao两种方法: 原始dao开发方法(程序需要编写dao接口和dao实现类)(掌握) mybaits的mapper接口(相当于dao接口)代理开发方法(掌握) mybatis配置文件SqlM…
从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一.一对多.多对多查询,这篇先总结一下mybatis中的一对一查询.  为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到的不同的映射,为此,我建立4个表,如下: DROP TABLE IF EXISTS `items`; DROP TABLE IF EXISTS `orders`; DROP TABLE IF EXISTS `user`; DROP TABLE IF EXISTS `orderdetail`; /*i…
[简述] 数据库模型和数据等信息与上一篇博文相同. 需求也同上一篇博文. [工程截图] [User.java]POJO package cn.higgin.mybatis.po; import java.util.Date; public class User { //属性名和数据库表的字段对应 private int id; private String username; private String sex; private Date birthday; private String ad…
一对一查询 查询订单信息和用户信息 创建po类 基础的单表的 po(数据库类)类:Items.java, Orderdetail.java, Orders.java, User.java 一对一查询映射的pojo(工具类,用于sql语句接收返回的对象) 创建pojo包括 订单信息和用户信息,resultType才可以完成映射. 创建OrderCustom作为自定义pojo,继承sql查询列多的po类. 接口:OrdersMapperCustom.java package cn.itcast.my…
Mybatis 中对于多表查询提供了非常强大的实现方式,主要是通过resultMap的结果映射对于多表查询后的返回值进行封装,让我们来看一下官网上对于resultMap的解释:resultMap 元素是 MyBatis 中最重要最强大的元素.它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作.实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的长达数千行的代码.R…
所谓的一对一查询,就是说我们在查询一个表的数据的时候,需要关联查询其他表的数据. 需求 首先说一个使用一对一查询的小需求吧:假设我们在查询某一个订单的信息的时候,需要关联查询出创建这个订单对应的用户信息.表模型如下( ResultType sql语句的书写 首先,我们要对我们的需求进行分析.1.我们需要确定这个需求需要涉及到哪两张表,其中哪个是主表,哪个是关联表.具体怎么确定,还是看需求--我们的需求是说,在查询订单的时候,顺带着查出创建这个订单的用户.那么,已经很显然了.我们的主表是订单表(o…
目录 1. 一对一查询 1.1 一对一嵌套结果查询 1.2 使用resultMap配置一对一映射 1.3 使用resultMap的association标签配置一对一映射 1.4 association标签查询(懒加载) 1. 一对一查询 1.1-1.3 我们假设场景为用户和角色一对一,根据数据库基本原理,我们把外键设置在用户一边,即在实体类中添加角色这个属性. 1.1 一对一嵌套结果查询 1.1.1嵌套结果查询的核心思想 核心思想:直接用slect标签通过数据库字段和实体类字段的自动映射. 首…
---------------------siwuxie095                                 MyBatis 一对一查询         以订单和用户为例,即 相对订单来说,一个订单只能属于一个用户     PS:实际上,订单和用户的关系是一对多,这里采用了相对的概念, 从单向看,就是一对一         需求如下:     根据订单号查询订单,并查询出下单人(用户)的信息         具体实现:     先创建数据库 mybatis_db, 再创建表 t…