MyBatis中多对多关系的映射和查询

本文介绍了在MyBatis中处理多对多关系的映射和查询方法。通过创建中间表连接图书表和类别表,利用MyBatis-Generator生成实体类和映射文件,并在XML映射文件中编写SQL查询,实现图书与其所属类别的关联显示。最终通过测试验证,成功输出所有图书及其对应的类别信息。
摘要由CSDN通过智能技术生成

先说一下需求:

  在页面上显示数据库中的所有图书,显示图书的同时,显示出该图书所属的类别(这里一本书可能同时属于多个类别)

 

测试环境:MySQL、MyEclipse

创建表:

  笔者这里使用 中间表 连接 图书表 和 图书类别表,图书表中 没有使用外键关联 图书类别表

  而是在中间表中引用了 图书主键 和 类别主键 

  通过中间表来 表示 图书 和 图书类别 的关系

 

建立图书表(图书编号,图书名字)

create table book
(
    bid int primary key auto_increment,
    bname varchar(20)                                     
);

建立类别表(类别编号,类别名字)

create table category
(
    cid int primary key auto_increment,
    cname varchar(20)
);

建立中间表(图书编号,类别编号)

复制代码
create table middle
(
    m_bid int,
    m_cid int,
    constraint fk_bid foreign key(m_bid) references book(bid),
    constraint fk_cid foreign key(m_cid) references category(cid)
);
复制代码

插入测试数据

复制代码
insert into category values (default,'java');
insert into category values (default,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值