我有可以有“类别”的业务对象,所以我使用一个简单的表结构,看起来像
objects:
| id | name |
categories:
| obj_id | cat |
添加新对象及其类别非常简单:
INSERT INTO OBJECTS (name) VALUES ("This thing");
/* store the LAST_INSERT_ID() */
INSERT INTO categories values (lastId, "A category"), (lastId, "Another category"), ...;
问题是,我使用 JDBC 批处理查询来进行对象插入,所以我不确定如何获取最后插入 ID。我需要批量插入大量对象,但以某种方式保留每个对象的 ID,以便我可以批量插入每个对象的相关类别。
我考虑编写一个存储过程,我可以将类别作为数组(不,MySQL 没有数组类型)或逗号分隔列表(内置字符串标记化同上)传递。有没有更简单的方法?像“插入...加入...”之类的东西?