JavaWeb基础(2)—— JDBC 中 Statement 与 PrepareStatement 的区别

来源:互联网 发布:阿里云服务器怎么租 编辑:程序博客网 时间:2024/06/14 11:24

浅谈 JDBC 中 CreateStatement 和 PrepareStatement 的区别与优劣。

假设有一个数据库,里面有一个 user 表,有 username , userpwd 两列。我们要查出这两列的数据。

这是使用 CreateStatement 方法创建了 stmt 对象,再通过他查询的一部分语句片段。

String sql = "select * from users where  username= '"+username+"' and userpwd='"+userpwd+"'";  stmt = conn.createStatement();  rs = stmt.executeQuery(sql);  

使用了 PrepareStatement 方法创建了 pstmt 对象,再通过这个对象查询的一部分语句片段。

String sql = "select * from users where  username=? and userpwd=?";  pstmt = conn.prepareStatement(sql);  pstmt.setString(1, username);  pstmt.setString(2, userpwd);  rs = pstmt.executeQuery();  

PrepareStatement 可以提高代码的可读性与安全性。