1.需求 查询所有订单信息,关联查询下单用户信息. 注意: 因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询.如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单. 2. 方法一:resultType 使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息: 2.1 sql语句 确定查询的主表:订单表 确定查询的关联表:用户表 关联查询使用内链接?还是外链接? 由于orders表中有一个外键(
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 先简单提及一下关联查询的分类 1.一对多 1.1单条SQL操作的 1.2多条SQL操作的 2.多对一 2.1单条SQL操作的 2.1多条SQL操作的 3.多对多(类似一对多) 4.自关联(也有点类似一对多) 下面是具体实现,用真实代码带入进去(数据表和实体类和测试方法都给发出来,更多的要关注到xml中的使用) 我先把用到的数据库的脚本发一下,里面有测试数据,我折起来,需要使用的可以自行提取 /* SQLyo
关联查询: 一个用户对应多个订单,一个订单只有一个用户 订单关联用户:两种方式 一:基于resultTYpe是一个与表关系一样的pojo实现 主表订单,从表用户 首先要有一个与关联查询表关系一样的pojo 在代理接口添加方法,配置代理映射 最后进行单元测试 二 : 基于resultMap(推荐) pojo:在订单类中放置用户类对象,并且提供对应的setget方法 在ResultMap中配置两表关系 基于resultMap配置关联查询的方法 单元测试: 原文地址:https://www.cnb
我们来看一个实例: 在数据库中创建两个表 一.创建表: 员工表: DROP TABLE IF EXISTS `tbl_employee`; CREATE TABLE `tbl_employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(255) DEFAULT NULL, `gender` char(1) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `d_id`
一.一对一 举个例子: 实体类:User private Integer id; private String name; private Integer age; private String sex; get/set方法省略 Mapper.xml文件中定义查询语句 <mapper namespace=""> <select id="" resultType="User"> select * from user &l
一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系. 1 CREATE TABLE teacher( 2 t_id INT PRIMARY KEY AUTO_INCREMENT, 3 t_name VARCHAR(20) 4 ); 5 CREATE TABLE class( 6 c_id INT PRIMARY KEY AUTO_INCREMEN
首先在数据库bookstore中建立三张表,分别是BSuser,author,reader CREATE TABLE `author` ( `id` int(11) NOT NULL AUTO_INCREMENT, `realName` varchar(20) COLLATE utf8_bin DEFAULT NULL, `userID` int(11) DEFAULT NULL, `IDCard` varchar(20) COLLATE utf8_bin DEFAULT NUL
在网上很多mybatis的关联查询资料,但是要用主表的多个条件查子表的资料少之又少,今天刚好用到了,就分享下给大家,多条件的写法.(主要是注意红色字体代码) 实体类: public class PhotoFeedback implements Serializable { private int id; private String name; private int userId; //用户id private List<PhotoFeedbackPic> listPic; } photo