如何使用mybatis插入关系表

u1ehiz5o  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(432)

我是mybatis的新手。我整天都在寻找下面这个问题的答案。还是找不到。
所以我的数据库里有两个表
教练
讲师详细信息
其中讲师表与讲师详情表之间存在fk-pk关系。
java和instructordetail.java如下所示

public class Instructor {

    private int id;

    private String firstName;

    private String lastName;

    private String email;

    private InstructorDetail instructorDetail;

    //constructor,getters and setters
}

public class InstructorDetail {

    private int id;

    private String youtubeChannel;

    private String hobby;
   //constructor, getters and setters
}

所以我示例化了一个讲师对象,如下所示

InstructorDetail instructorDetail = new InstructorDetail("http://jishnu@youtube.com","Cricket");
Instructor instructor = new Instructor("Jishnu","M V","jishnu@outlook.com");
instructor.setInstructorDetail(instructorDetail);

我想使用mybatis将这个讲师对象持久化到我的数据库表中。我该怎么做?如果有办法使用xml和/或注解。请帮我处理这两件事。

kulphzqa

kulphzqa1#

我想使用mybatis将这个讲师对象持久化到我的数据库表中
在构造这个讲师对象之后,我假设您想插入两个表,讲师和讲师详细信息?
一个小google,这里有一个已回复的链接,描述了使用mybatis在一个调用中插入两个表。
在您的情况下,xml是合适的。可能是这样的:
(我假设您的数据库有下划线“\”的约定,没有引号作为分隔符)

<insert id="insertInstructorAndDetails">
   insert into instructor (id,first_name,last_name,email)
     values (#{id},#{firstname},#{lastName},#{email})
   insert into instructor_details (id, youtube_channel, hobby)
     values (#{id},#{instructorDetail.youtubeChannel},#{instructorDetail.hobby})
</insert>

注意,并非所有数据库都支持多个insert语句。

相关问题