总结-SQL注入
SQL 注入 : 输入用户名和密码的时候带有 SQL 语句的关键字 , 会导致 SQL 注入 ; 用户是一个专业程序员 , 输入用户名和密码的时候 , 这些信息中包含了 SQL 语句的关键字 , 并且这些关键字参与了编译过程 , 导致原 SQL 语句含义被扭曲 ; SQL 注入是存在的一种安全隐患 怎么解决 SQL 注入问题 ( 导致 SQL 的根本原因是什么 )? 原因是先进行字符串拼接再进行的编译导 , 正好将用户提供的含有 SQL 语句关键字的字符串编译进去 , 从而导致了 SQL 语句的原意 , 致 SQL 注入 ; 解决办法 : ( 第一版 ) -- 先体统 SQL 语句架构 , 对 SQL 语句框架进行预先编译 , 再给 SQL 语句框架进行赋值 , 这样即使用户提供的信息中含有 SQL 语句的关键字 , 但是这些关键字并不会参与编译 , 不起作用 , 解决 SQL 注入问题 . ( 第二版 ) -- java.sql.PreparedStatement ( 预编译的数据库操作对象 ) PreparedStatement 的父接口 :Statement 执行原理 : 先提供 SQL 语句框架 , 再使用预编译的数据库操作对象进行 SQL 语句的预先编译 , 再给 SQL 语句框架传值 , 传值的时候用户输入的信息中即使有 SQL 语句的关键字也不会参与编译 ,