使用Statement是不安全的容易引起SQL注入问题,
因为Statement执行的是静态的SQL语句(String sql=”select * from user where username=’”+username+”’ and password=’”+password+”’”)Username和password都等于1’ or ‘1’=’1这样任何情况下都是正确的)
方法一:对参数进行检测
方法二:使用PreparedStatement对象,在构造SQL语句的书后使用预编译的方法
String SQL=”select * from user where username=? and password=? ”;
这样他就会将其中的可以字符作为一个字符串整体来考虑,而不会和SQL语句连接起来作为一个SQL语句组合