mybatis-实现多关联查询

本文介绍了如何使用MyBatis进行一对一和多对多的关联查询。首先讲解了一对多关联查询的实现,包括创建数据库表、定义实体类、编写UserMapper.xml映射文件和测试类。接着,展示了多对多关联查询的步骤,涉及商品和订单表的建立、实体类和映射文件的配置,以及测试类的编写。文章最后总结了MyBatis在关联查询中的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、一对多的关联

1.1、提出需求

根据id查询球星的信息

1.2、创建表和数据

创建user表

– Table structure for
tb_user

DROP TABLE IF EXISTS
tb_user;

CREATE TABLE tb_user (

id int(32) NOT NULL AUTO_INCREMENT,

username varchar(32) DEFAULT NULL,

address varchar(256) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB
AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

– Records of tb_user

INSERT INTO tb_user VALUES
(‘1’, ‘詹姆斯’, ‘克利夫兰’);

INSERT INTO tb_user VALUES
(‘2’, ‘热火’, ‘太阳’);

INSERT INTO tb_user VALUES
(‘3’, ‘保罗’, ‘洛杉矶’);

创建订单表

DROP TABLE IF EXISTS
tb_orders;

CREATE TABLE tb_orders (

id int(32) NOT NULL AUTO_INCREMENT,

number varchar(32) NOT NULL,

user_id int(32) NOT NULL,

PRIMARY KEY (id),

KEY user_id (user_id),

CONSTRAINT tb_orders_ibfk_1 FOREIGN KEY
(user_id) REFERENCES tb_user (id)

) ENGINE=InnoDB
AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

– Records of tb_orders

INSERT INTO tb_orders VALUES
(‘1’, ‘1000011’, ‘1’);

INSERT INTO tb_orders
VALUES (‘2’, ‘1000012’, ‘1’);

INSERT INTO tb_orders
VALUES (‘3’, ‘1000013’, ‘2’);

1.3、定义实体类

1.Orders实体类

/**

  • 订单持久化类
    /
    public class Orders {
    //与数据库的 tb_orders的表中的字段一一对应
    private Integer id; //订单id
    private String number;//订单编号
    /
    *

    • 这个GetterSetter方法
    • @return
      */
      public Integer getId() {
      return id;
      }
      public void setId(Integer id) {
      this.id = id;
      }
      public String getNumber() {
      return number;
      }
      public void setNumber(String number) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值