初学者的java学习笔记——查询(多对多)

数据库

  1. 外键字段

  2. 把主表的主键作为从表的外键

关系

  1. 一对一

  2. 一对多(多对一)

  3. 多对多

对象模型

  1. 一对一,对象中嵌套对象

  2. 一对多,对象中嵌套集合对象

  3. 多对多,两个对象相互嵌套集合对象

Mybatis(resultMap)

resultMap定制

  1. association(一对一)

    1. SQL(外连接查询)

    2. 属性

      1. resultMap(对应从表的)

  2. collection(一对多)

    1. 一次查询

      1. SQL(外连接查询)

      2. resultMap

    2. 多次查询(数据量大的时候用)

      1. SQL单表查询

      2. select(从表关联查询)

      3. column(将主表中查询的字段传递到下一个查询中)

      {key=value,key=value}

多对多

概要

两个一对多

数据库

一定要有中间表

SQL

CREATE TABLE role
(
    role_id     int AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
    name        varchar(65) UNIQUE NOT NULL COMMENT '角色名称',
    instruction varchar(256) COMMENT '角色说明',
    status      int DEFAULT 1 COMMENT '1 表示正常,0 表示禁用'
)COMMENT '角色表';
​
​
CREATE TABLE permission
(
    per_id      int AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
    name        varchar(65) UNIQUE NOT NULL COMMENT '权限名称',
    instruction varchar(2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值