Mybatis一对一中的SQL(查询、删除、更新、插入)及表的设计
2017-04-21 16:09
399 查看
mybatis是一个不完全的ORM框架,在进行使用时,需要程序员自己写SQL语句和设计表。本文主要在一对一的情况下对表进行设计以及编写SQL语句。
boss
com_id为boss表中的外键,值是company的p_id,由于是一对一则com_id是唯一的
有外键的一方boss为从表,company为主表,主表的删除、更新会引起从表的数据变化
1.1现实模型
一个Company 有一个Boss,一哥Boss管理一个公司,通过Company 来维护Boss1.2实体类
public class Company { private int id; private String name; private int price; private Boss boss; } public class Boss { private int id; private String name; private int age;
1.3表的设计
companyc_id | c_name | c_price |
---|---|---|
9 | 阿里巴巴 | 120000 |
10 | 腾讯 | 180000 |
11 | 百度 | 190000 |
12 | 微软 | 1000000 |
b_id | b_name | b_age | com_id |
---|---|---|---|
7 | 马云 | 51 | 9 |
8 | 马化腾 | 47 | 10 |
9 | 李彦宏 | 42 | 11 |
1.3.1创建表SQL
create table company(c_id int primary key auto_increment,c_name char(20),c_price int); create table boss(b_id int primary key auto_increment,b_name char(20),b_age int,com_id int);
1.3.2添加外键关联
alter table boss add constraint b_c_const foreign key(com_id) references company(c_id) on delete cascade on update cascade;
有外键的一方boss为从表,company为主表,主表的删除、更新会引起从表的数据变化
1.3.3给boss表的com_id添加unique约束
alter table boss add constraint u_comid unique(com_id);
1.4SQL语句
1.4.1插入
insert into boss(b_name,b_age,com_id) values(?,?,?);
1.4.2删除
delete from company where c_id=?;
1.4.3更新
update company set c_id=1,c_name='google',c_price=102222 where c_id=?;
1.4.4查询
select company.*, boss.b_id,boss.b_name,boss.b_age from company left outer join boss on boss.com_id=company.c_id where company.c_id=?;
相关文章推荐
- Mybatis一对多中的SQL(查询、删除、更新、插入)及表的设计
- Mybatis多对多中的SQL(查询、删除、更新、插入)及表的设计
- Linq的技术太强大了分享一下(linq to sql 的插入、更新、查询、删除)
- C#下使用sql语句查询,插入,更新,删除
- sql存储过程 1查询;2插入;3更新;4删除
- SQL学习笔记5 组合查询 插入/更新/删除数据 创建和操纵表
- 自动生成SQL查询、删除、更新、插入语句
- android中常用的查询、插入、更新、删除等SQL语句以及SQLite数据类型
- 【sql查询与优化】4.删除插入与更新
- 学习Unity3D之SQL代码查询和用VS向数据库插入、删除、更新、查询信息。
- SQL_4th_插入insert、查询select、删除delete、更新update
- 2. SQL -- 查询表,创建表,插入数据到表,更新数据,删除数据
- 在C#下使用sql语句(查询,插入,更新,删除……)
- linqtosql - 插入 删除 更新 查询
- DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- 相同表结构 一个表结构插入更新删除更新同步另外一个表 触发器设计 inserted,deleted 均为系统临时表
- 9、步步为营VS 2008 + .NET 3.5(9) - DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- DLINQ(LINQ to SQL)之调用存储过程的添加、查询、更新和删除
- c#.net数据库连接 查询,删除 ,插入 ,更新
- 步步为营VS 2008 + .NET 3.5(10) - DLINQ(LINQ to SQL)之调用存储过程的添加、查询、更新和删除