PreparedStatement
它是statement的子接口
-
它的优点:
-
防SQL攻击
-
提高代码的可读性、可维护性;
-
提高效率!
学习PreparedStatement用法:
-
-
如何得到PreparedStatement的用法
- 给出SQL模板
- 调用Connection的PreparedStatement prepareStatement(String sql模板);
- 调用pstmt的setxx()系列方法sql模板中的‘?’赋值!
- 调用pstmt的executeUpdate()或executeQuery(),但它的方法没有参数。
-
-
预处理的原理
-
-
服务器的工作:
- 检验sql语句的语法!
- 编译:一个与函数相似的东西!
- 执行:调用函数
-
-
PreparedStatement:
- 前提:连接的数据库必须支持预处理!几乎没有不支持的!
- 每个pstmt都与一个sql模板绑定在一起,先把sql模板给数据库,数据库先发校验,再进行编译。执行时只是把参数传递过去而已!
- 第二次执行时,就不用再次校验语法,也不用再次编译!直接执行!
-