Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在多对多关系中插入数据库。愚蠢的问题_Java_Database - Fatal编程技术网

Java 在多对多关系中插入数据库。愚蠢的问题

Java 在多对多关系中插入数据库。愚蠢的问题,java,database,Java,Database,Hy.我的问题是,我有一个多对多关系到一个数据库中,该数据库在两个表之间映射了一个表。让我们假设我有一个多对多关系的表Employees和Services,它们之间的表是XXX。现在,如果我想添加一名员工,并将其与一项服务关联,那么如果员工的主键处于自动递增状态,我该如何做? 我必须插入雇员..然后选择它以找出他的主键ID,然后插入到XXX表中以与服务相关。现在我的问题是:还有其他方法吗。?抱歉,如果这已经被回答了,我只是不知道如何搜索答案。我必须在java应用程序中重新输入。thx 我的例子:

Hy.我的问题是,我有一个多对多关系到一个数据库中,该数据库在两个表之间映射了一个表。让我们假设我有一个多对多关系的表Employees和Services,它们之间的表是XXX。现在,如果我想添加一名员工,并将其与一项服务关联,那么如果员工的主键处于自动递增状态,我该如何做?
我必须插入雇员..然后选择它以找出他的主键ID,然后插入到XXX表中以与服务相关。现在我的问题是:还有其他方法吗。?抱歉,如果这已经被回答了,我只是不知道如何搜索答案。我必须在java应用程序中重新输入。thx

我的例子:
create table employees(
id\u员工主键自动增量
)

创建表服务(
id\u服务主键自动增量
)

还有中庭的那一个
创建表xxx(
id_员工主键外键引用员工(id_员工)
id\U服务主键外键引用服务(id\U服务)
)


很抱歉这么匆忙..但我希望您能获得我使用的MySql的idea.Ps

您不需要选择,您可以从数据库中获取lastInsertedId。根据您使用的数据库的不同,它会有所不同

对于mysql,您可以在此处阅读:

所以

  • 插入
  • 获取最后插入的id不是通过选择,而是通过询问数据库(因为它将通过您的连接返回最后插入的id,而不是全部,这应该是线程安全的)
  • 重复:)

    • 我只想在纳恩的回复上加上我的5美分。 如果您使用的是Connector/J,下面介绍了如何在Java中检索最后插入的id:

      • 使用语句.getGeneratedKeys()
      • 使用SELECT LAST_INSERT_ID()
      • 使用可更新的结果集
      检查这个类似(如果不是完全相同)的问题: