预编译语句指事先编译好SQL语句,绑定变量。这样能确保SQL语句结构,有效防止用户输入被当作SQL语句执行。
举一反三
- PreparedStatement对象与一条SQL预编译语句绑定,不能执行其他预编译SQL语句。
- 有关PreparedStatement说法正确的是哪一个? A: 该对象只能执行带问号占位符的预编译SQL,不能执行SQL语句。 B: 该对象执行的时候,只能执行查询语句,其他预编译SQL语句只能由Statement执行。 C: 该对象只能执行增删改等更新语句 D: 该对象一次只能与一条SQL预编译语句绑定,所以一次只能执行一条预编译SQL语句
- 以下选项关于PreparedStatement的说法错误的是( )。 A: PreparedStatement继承了Statement ,可以执行预编译的SQL语句 B: PreparedStatement可以有效的防止SQL注入 C: PreparedStatement只能执行带问号占位符的预编译SQL,不能执行SQL语句 D: PreparedStatement可以存储预编译的SQL语句,从而提升执行效率
- SQL注入,是开发者在代码中使用SQL语句时,要先生成SQL语句,然后调用函数执行这条SQL语句。如果错误地直接将用户输入拼接到SQL语句中,就有可能产生非预期的结果,从而将用户输入当作SQL语句执行。
- 下列用于表示执行事先编译的SQL语句的Java类是____________________。