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);
我正在尝试一次将数据插入多个表中,似乎没有为PreparedStatement定义addBatch(String sql)
。
还有其他方法吗?
答案 0 :(得分:1)
首先,PreparedStatement
用于缓存单个SQL语句。这样做的好处是驱动程序/数据库可能会优化该语句,因为它需要很多语句,因为它是一个参数化语句。如果要将它用于两个不同的SQL语句,则需要两个PreparedStatement
s。
要在语句中添加行,您需要使用set*(1,...)
,set*(2,...)
,set*(3,...)
等设置参数,然后调用addBatch()
(无参数! )。最后,使用executeBatch()
提交一批语句。