使用java在Sql Server表中插入多行
嗨,我想实现以下目标使用java在Sql Server表中插入多行,java,database,sql-server-2008,jdbc,sql-insert,Java,Database,Sql Server 2008,Jdbc,Sql Insert,嗨,我想实现以下目标 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
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,我可以将所有查询写在一个文本文件中,逐个读取并创建所有事务,但我想知道是否有更有效的方法来实现这一点。
需要你的投入
注意:我使用的是SpringJDBC
目的:单元测试,创建用户(t1)和用户详细信息(t2)考虑到使用新数据库运行的测试,我首先创建用户和用户详细信息,然后使用该用户测试其他场景。您可以这样做
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
}
我使用SpringJDBC来执行多个插入,您可以在批处理中使用PreparedStatement。这里有更多信息: