preparedStatement和statement的区别与联系

时间:2021-03-31 11:55:29

说一下preparedStatement和statement的区别与联系:

最好以PreparedStatement代替Statement.也就是说,在任何时候都不要使用Statement。

 PreparedStatement 接口继承 Statement   PreparedStatement 实例包含已编译的 SQL 语句, 所以其执行速度要快于 Statement 对象。 Statement为一条Sql语句生成执行计划,如果要执行两条sql语句 

select colume from table where colume=1;select colume from table where colume=2; 会生成两个执行计划 一千个查询就生成一千个执行计划! PreparedStatement用于使用绑定变量重用执行计划 select colume from table where colume=:x; 通过set不同数据只需要生成一次执行计划,可以重用

使用:

创建Statement是不传参的,PreparedStatement是需要传入sql语句

JDBC statement中的PReparedStatement的占位符对应着即将与之对应当值,并且一个占位符只能对应一个值

创建Statement

Statement sta=con.createStatement();
ResultSet rst=sta.executeQuery(“select * from book”);
创建PreparedStatement

PreparedStatement pst=con.prepareStatement(“select * from book”);
ResultSet rst=pst.executeQuery();