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的区别