1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程,但不适合一次性操作。
2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处,但多次操作和批量处理数据时PreparedStatement 对象优势就出来了。
3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理。
4.PrepareStatement中执行的SQL语句中是可以带参数的,也就是说可以替换变量,尽量采用实用?的方式传递参数,增加代码的可读性又可以预编译加速;而Statement则不可以。
Statement:
String sqlstr= "update user set no=44 where name like'kaka'"
stmt.executeUpdate(sqlstr);
PreparedStatement :
PreparedStatement ps= con.prepareStatement(""update user set no = ? where name like ? ");
ps.setInt(1, 44);
ps.setString(2, "kaka");
ps.executeUpdate();
我这是对PreparedStatement和Statement简单理解,这也是一个同学问到我时自己整理的。
|
|