黑马程序员技术交流社区

标题: 简单理解PreparedStatement和Statement [打印本页]

作者: wildcat    时间: 2015-2-12 16:26
标题: 简单理解PreparedStatement和Statement
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简单理解,这也是一个同学问到我时自己整理的。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2