在新手推荐JSP+JavaBean+Servlet MVC模式用户注册模块中,有关数据库的操作,我们用到了:
String sql ="select * from tb_user WHERE username=?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, username);
ResultSet resultSet = ps.executeQuery();
这段代码用来在数据库中查找用户名为username的记录。
对比Statement只能用于执行事先准备好的静态SQL语句,PrepareStatement显得更加灵活。
PrepareStatement继承了Statement接口,是Statement的子接口,可以完成Statement的所有功能。SQL语句被预编译并存储在PrepareStatement对象中,然后可以使用该对象多次执行该语句。其中SQL语句中不确定的字段值用”?”代替。
我们在获取PrepareStatement对象是,必须传入一个待封装的SQL语句,如上述程序1~2行所示。
然后可以使用
- void setString(int index, String s) throws SQLException;
- void setInt(int index, Int i) throws SQLException;
- void setLong(int index, Long l) throws SQLException;
- void setObject(