gpt4 book ai didi

java - JBoss下链式MySQL语句

转载 作者:行者123 更新时间:2023-11-28 23:19:16 24 4
gpt4 key购买 nike

编辑:链接的答案不使用 LAST_INSERT_ID,仍在寻找答案。

我正在使用 JBoss 并通过数据源 (JNDI) 获取连接。

如何一次链接并执行多个 SQL 语句,其中第二个语句取决于第一个语句的输出 (LAST_INSERT_ID())

preparedStatement = connection.prepareStatement("INSERT INTO product(name) VALUES(?); INSERT INTO brand_product(brand_id, product_id) VALUES(?, LAST_INSERT_ID())", Statement.RETURN_GENERATED_KEYS);
preparedStatement.setString(1, name);
preparedStatement.setInt(2, brandId);

if(preparedStatement.executeUpdate() != 0) {
try (ResultSet generatedKeys = preparedStatement.getGeneratedKeys()) {
if(generatedKeys.next()) {
product = new Product(generatedKeys.getInt(1), name);
}
}
};

请注意:我也生成了正在使用的键,第二个表没有生成任何键,因为它是一个连接表。

最佳答案

  1. 配置 JBoss 以允许在管理界面中进行多个查询。在添加属性之前先单击禁用。 (在数据源下)。

    属性名称:allowMultiQueries 属性值:true

  2. 生成的键不会有问题,因为第二个查询没有自动递增主键。

关于java - JBoss下链式MySQL语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42516694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com