Statement与PreparedStatement的区别

Posted fifiyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Statement与PreparedStatement的区别相关的知识,希望对你有一定的参考价值。

 

Statement由方法createStatement()创建,该对象用于发送简单的静态的SQL语句。

PreparedStatement由方法preparedStatement()创建,该对象用于发送带有一个
或多个输入参数的SQL语句。该方法继承了Statement的所有方法。并进行了扩展。
SQL语句使用“?”作为数据占位符,使用setXxx()方法设置数据。

 

//Statement的用法
int id=111;
String sql="selsect * from user where id="+id;
Statement st=connection.CreateStatement();
ResultSet rs=st.executeQuery(sql);


//PreparedStatement的用法
//PreparedStatement可替换变量(在SQL语句中可以包含?)
String sql="select * from user where id=?";
PreparedStatement ps=connection.preparedStatement(sql);//sql在这里进行预编译
int id =111;
ps.setInt(1,id);//为sql传入参数
ResultSet rs=ps.executeQuery();//这里不需要sql,因为上面预编译过

以上是关于Statement与PreparedStatement的区别的主要内容,如果未能解决你的问题,请参考以下文章

JDBC-PreparedStatement实现CURD(笔记)

PreparedStatement 与 Statement 的区别

JDBC预编译statement(preparedstatement)和statement的比较execute与executeUpdate的区别

PreparedStatement 与 Statement

当 Statement 与 Java 和 Oracle 一起使用时,Prepared Statement 不起作用

Java基础——Statement与PrepareStatement