多表操作查询 一对一
目录
- 1. 一对一关系
- 2. 一对一外键关联查询配置
1. 一对一关系
数据库中的一对一关系 – 主键关联和外键关键
如person表和身份证表card
1、主键关联
create table person (pid int primary key auto_increment,pname varchar(40) not null,pgender varchar(10) not null
)
create table card (cid int not null, -- 引用person表的主键(由程序控制)cnumber varchar(18) not null
)
2、外键关联
person表不变,新增card表外键列
create table card (cid int not null primary key auto_increment,cnumber varchar(18) not null,pid int,foreign key(pid) references person(pid)) -- person的主键(应该程序控制)
)
2. 一对一外键关联查询配置
- sql 以用户表和订单表为例,订单与用户一对一
create table `users1` (`userId` int (11),`userName` varchar (60),`userPassword` varchar (120),`birthday` bigint (255)
); create table `orders` (`order_id` int (11),`order_time` datetime ,`order_money` Decimal (11),`uid` int (11)
);
package cn.bitqian.entity;import java.sql.Timestamp;/*** 用户订单表 一对一* 一个订单对应一个用户...* @author echo lovely* @date 2020/9/13 10:26*/
public class Order {private Integer orderId;private Timestamp orderTime;private Double orderMoney;// 当前订单对应的用户.. 面向对象表示private User user;// constructor.. set/get toString..
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="cn.bitqian.dao.OrderMapper"><!-- 给Order封装数据 --><resultMap id="orderMap" type="Order"><id property="orderId" column="order_id"/><result property="orderTime" column="order_time"/><result property="orderMoney" column="order_money"/><!-- 封装order里面的user --><!--<result property="user.userId" column="userid"/><result property="user.userName" column="username"/><result property="user.userPassword" column="userpassword"/><result property="user.birthday" column="birthday"/>--><!-- user属性 User类型--><association property="user" javaType="User"><id property="userId" column="userid"/><result property="userName" column="username" /><result property="userPassword" column="userpassword" /><result property="birthday" column="birthday" /></association></resultMap><!-- 返回的是order --><select id="queryAllOrder" resultMap="orderMap">SELECT *, u.`userId` AS userid FROM orders o LEFT JOIN users1 uON o.`uid` = u.`userId`</select></mapper>
多表操作查询 一对一相关推荐
- mybatis多表操作(一对一、一对多、多对多)
1.获取主键值 1.1使用useGeneratedKeys属性 1.2使用selectKey标签 修改UserMapper 2.分页 3.多表操作(重难点) 3.1一对一 需求:(电商)[一个用户对应 ...
- 10 ORM 多表操作 查询
1.子查询:基于对象的跨表查询 def query(request):"""跨表查询:1.基于对象查询2.基于双下划线查询3.聚合.分组查询4. F Q 查询" ...
- DJango周总结二:模型层,单表,多表操作,连表操作,数据库操作,事务
django周复习二 1,模型层: 1单表操作: 13个必会操作总结 返回QuerySet对象的方法有 all() filter() exclude() ...
- Django基础五之Django模型层(二)多表操作
Django基础五之Django模型层(二)多表操作 一 创建模型 表和表之间的关系 一对一.多对一.多对多 # 作者表 比较常用的信息放在这个表中 class Author(models.Model ...
- 【MySQL多表操作练习】
多表操作练习 > > > MySQL基础 > > > MySQL的多表操作查询 > > > MySQL多表操作练习 > > > ...
- python代码函数字符查询宝典书籍_Django基础五之django模型层(一)单表操作
二 单表操作 一.创建表 创建模型 创建名为book的app,在book下的models.py中创建模型: from django.db importmodels#Create your models ...
- day055056Django之多表操作,多表查询
本节内容: 1.回顾一对一.一对多.多对多的表结构关系 2.创建模型 3.添加表记录 4.基于对象的跨表查询 5.基于双下划线的跨表查询 6.聚合查询与分组查询 7.F查询与Q查询 一.回顾一对一.一 ...
- 2019-7-27 [MySQL] DQL 简单查询[别名/去重/运算] 条件查询 排序查询 聚合查询 分组查询 导出与导入 多表操作[一对多/多对多][创外键 创联合主键 约束 添加 删除 测试]
文章目录 5 SQL语句(DQL) 5.1DQL准备工作和语法 5.1.1准备工作 5.1.2 DQL语法: 5.2 简单查询 5.2.1 查询所有的商品 5.2.2 查询商品名和商品价格. 5.2. ...
- 7. MyBatis多表查询 - 一对一 - 一对多 - 多对多
7. MyBatis多表查询 - 一对一 - 一对多 - 多对多 前言 在前面的篇章,我们已经熟悉了单表查询,下面我们来看看如何进行 多表查询. 数据准备 create database if not ...
最新文章
- 如何用sysbench做好IO性能测试
- Nessus 4.4 windows and linux 安装手册
- mysql 常用sql语句 简介
- Spring 5.0 源码编译, 403, 404 依赖pom 无法下载问题
- Illustrator 上色
- python不可实现的领域3d_岩土工程新手入门指南---FLAC3D学习指导与建议
- linux下keytool生成证书_生成证书命令keytool
- 堆排序(python实现)
- 19-background
- Windows Bat脚本实现定时重启应用程序
- 视频教程-Python零基础入门教程-Python
- 如何读取PHD实时数据
- 一沉担千斤,一默解万愁
- C++实现简单Kmeans聚类算法
- 记一次简单网络排障过程分析
- 鹰谷靶点 | PI3K靶向抑制剂治疗乳腺癌的研究进展
- 深度学习笔记(三):BatchNorm(BN)层
- 智慧交通落地关键:如何利用AI视频分析技术来改善交通?
- 区块链前世今生和三个感性故事
- 图像模块,实验三,二维码读取程序,显示在屏幕上
热门文章
- “睡服”面试官系列第八篇之iterator(建议收藏学习)
- 前端学习(1352)模板语法
- 前端学习(395):京东制作页面4自己制作icon图标
- 玩转oracle 11g(10):初步了解Rman备份
- CSS 相对|绝对(relative/absolute)定位系列(二)
- idea命令行运行多个客户端_推荐一款神仙颜值的 Redis 客户端工具,开源啦
- android menu菜单 实现点击后不消失_教你修改Windows万年不变的黄色文件夹,让文件也不枯燥...
- 1-2docker-基本的使用
- 【转载】interpolation(插值)和 extrapolation(外推)的区别
- HDU 4920 Matrix multiplication(矩阵相乘)