Java JDBC PreparedStatement类

版权声明:本文为作者创作,转载请注明出处:http://blog.csdn.net/claroja,如有商业用途请联系QQ:63183535。 https://blog.csdn.net/claroja/article/details/89926225

“Statement”对象,每执行一条语句,都会让数据库先编译再运行
“PreparedStatement”对象,则会相同语句,不同参数(通过?号传入)进行一次编译

所以“PreparedStatement”对象有两个优点:
1.预编译功能提高了执行效率
2.通过“?”传递参数,可以防止SQL注入,安全性高

Connection 接口 描述
PreparedStatement prepareStatement(String sql) 指定预编译sql语句,使用“?”作为参数占位符
PreparedStatement 接口 描述
int executeUpdate() 执行 DML,增删改的操作,返回影响的行数。
ResultSet executeQuery() 执行 DQL,查询的操作,返回结果集
PreparedStatement接口设置参数方法 描述
void setDouble(int parameterIndex, double x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setFloat(int parameterIndex, float x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setInt(int parameterIndex, int x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setLong(int parameterIndex, long x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setObject(int parameterIndex, Object x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setString(int parameterIndex, String x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。

示例:

 String sql = "select * from test where name=?"; 
 PreparedStatement ps = connection.prepareStatement(sql); 
 ps.setString(1, name); 
 ResultSet resultSet = ps.executeQuery(); 

猜你喜欢

转载自blog.csdn.net/claroja/article/details/89926225