Statement执行10次,需要10次把SQL语句传输到数据库端
// 数据库要对每一次来的SQL语句进行编译处理
for (int i = 0; i < 10; i++) {
String sql0 = "insert into hero values(null," + "'hello'" + "," + 313.0f + "," + 50 + ")";
s.execute(sql0);
}
PreparedStatement 执行10次,只需要1次把SQL语句传输到数据库端
// 数据库的SQL进行预编译
// 每次执行,只需要传输参数到数据库端
// 1. 网络传输量比Statement更小
// 2. 数据库不需要再进行编译,响应更快
for (int i = 0; i < 10; i++) {
ps.setString(1, "hello");
ps.setFloat(2, 313.0f);
ps.setInt(3, 50);
ps.execute();
}