当前位置:   article > 正文

MyBatis 级联操作_mybatis 级联insert

mybatis 级联insert


详细教程网络资源

关键在于练习 resultMap、association、collection 标签的使用

项目原代码

一对一 (student -> class)

student 包含个人基本信息和内嵌对象 classes。
在查询student时,需要联合 student表和classes表进行查询。

数据表

CREATE TABLE classes(
    id int not null primary key,
    name varchar(20)
);

insert into classes (id,name) values (1,"一班"),(2,"二班"),(3,"三班");

CREATE TABLE student(
    id int not null primary key auto_increment,
    name varchar(10),
    cid int,
    foreign key (cid) references classes(id)
);

insert into student (id, name, cid) 
    values (1,"KawYang",1),(2,"KawYang",2),(3,"张三",2),(4,"李四",3),(5,"Tom",3),(6,"Jary",3);

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

实体类

  • Classes类对象
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Classes{
    private int id;
    private String name;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • Student类对象
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student{
    private int id;
    private String name;
    private Classes classes;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Repository

编写数据库操作的接口

public interface IStudentRepository {
    /**
     * find by id
     * @param id
     * @return student
     */
    Student findById(int id);

    /**
     * find all
     * @return student list
     */
    List<Student> findAll();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Mapper

mapper

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/68178
推荐阅读
相关标签