Java 将数据插入多个表
我试图一次将数据插入多个表中,似乎PreparedStatement没有定义Java 将数据插入多个表,java,jdbc,prepared-statement,Java,Jdbc,Prepared Statement,我试图一次将数据插入多个表中,似乎PreparedStatement没有定义addBatch(stringsql)。 有其他方法吗?首先,使用PreparedStatement缓存单个SQL语句。这样做的好处是,驱动程序/数据库可能会优化语句,因为它需要很多语句,而且是一个参数化语句。如果要将其用于两个不同的SQL语句,则需要两个PreparedStatements 为了向语句中添加行,需要使用set*(1,…)、set*(2,…)、set*(3,…)等设置参数,然后调用addBatch()(无
addBatch(stringsql)
。
有其他方法吗?首先,使用
PreparedStatement
缓存单个SQL语句。这样做的好处是,驱动程序/数据库可能会优化语句,因为它需要很多语句,而且是一个参数化语句。如果要将其用于两个不同的SQL语句,则需要两个PreparedStatement
s
为了向语句中添加行,需要使用
set*(1,…)
、set*(2,…)
、set*(3,…)
等设置参数,然后调用addBatch()
(无参数!)。最后,您可以使用executeBatch()
提交一批语句,如果适用,可以检查一下:
String insert1 = "INSERT INTO Table1(Col1, col2, col3)"
+ "VALUES(?,?,?)";
String insert2 = "INSERT INTO Table2(Colx, coly)"
+ "VALUES(?,?)";
Connection conn = aConn;
PreparedStatement ps = null;
try {
ps = conn.prepareStatement(insert1);
// ps.addBatch(insert2);