【问题标题】:Insert multiple rows in Sql Server Tables using java使用java在Sql Server表中插入多行
【发布时间】:2014-08-01 22:26:11
【问题描述】:

您好,我想实现以下目标

insert into t1 (c1,c2) values (v1,v2)

上述事务将为创建的行创建一个唯一标识符。假设是 UIDT1

现在我想在另一个表中执行多个插入,例如

insert into t2 (c1,c2,c3) values (UIDT1,v2,v3)
insert into t2 (c1,c2,c3) values (UIDT1,v2,v3)
insert into t2 (c1,c2,c3) values (UIDT1,v2,v3)
.
.
.

使用 Java,我可以将所有查询写入文本文件并逐一读取并创建所有事务,但我想知道是否有更有效的方法来做同样的事情。 需要您的意见..

注意:我使用的是 Spring JDBC

目的:单元测试,创建 User(t1) 和 UserDetails(t2) 考虑使用新数据库运行测试我首先创建用户和用户详细信息,然后使用该用户我将测试其他场景。

【问题讨论】:

标签: java database sql-server-2008 jdbc sql-insert


【解决方案1】:

你可以这样做

String [] queries = {
    "insert into t2 (c1,c2,c3) values (UIDT1,v2,v3)",
    "insert into t2 (c1,c2,c3) values (UIDT1,v2,v3)",
    "insert into t2 (c1,c2,c3) values (UIDT1,v2,v3)"
};
try{
connectionObject.setAutoCommit(false);
Statement statement = connectionObject.createStatement();

for (String query : queries) {
    statement.addBatch(query);
}
statement.executeBatch();
connectionObject.commit();
}
catch(SQLException e){
e.printStackTrace(); 
}
finally{
//closing statements 
}

【讨论】:

    猜你喜欢
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 2013-05-13
    • 2016-01-14
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多