问题描述
比如有两张表,我们需要同时往两张表中添加数据,课程表中的id 作为 user表中的外键。
- user表
id | user | course |
---|---|---|
1 | 张三 | 1 |
2 | 李四 | 3 |
- 课程表
id | course_name |
---|---|
1 | 语文 |
2 | 数学 |
3 | 英语 |
课程表中的id是自增长的。
课程表中的主键 作为 user表中的外键,所以这个id是在添加完成后拿到的。
加入我们同时需要给两张表中添加(这里只是举一个例子),如何在添加完课程后拿到它的id呢?
解决方案:
mybatis
在xxx.mapper.xml文件中,在INSERT添加sql语句的标签中添加useGeneratedKeys="true" keyProperty="id"
语句,此处
keyProperty 就是你想要获取的值(注意需要和类中的变量的名称相同)
在代码中完成添加以后可以通过 对象.getId 获得 自增长的id,然后set进你需要添加的表中即可。