MySQL 批处理查询是指一次性执行多个 SQL 语句或查询,以提高数据库操作的效率。批处理可以减少网络传输的开销和数据库服务器的负担,特别是在需要执行大量相似或重复的 SQL 语句时。
Statement
对象的 addBatch()
和 executeBatch()
方法来执行多个 SQL 语句。PreparedStatement
对象的 addBatch()
和 executeBatch()
方法来执行预编译的 SQL 语句。以下是一个使用 PreparedStatement
进行批处理的示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class BatchInsertExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
String sql = "INSERT INTO users (name, email) VALUES (?, ?)";
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
for (int i = 0; i < 1000; i++) {
pstmt.setString(1, "User" + i);
pstmt.setString(2, "user" + i + "@example.com");
pstmt.addBatch();
}
pstmt.executeBatch();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
领取专属 10元无门槛券
手把手带您无忧上云