PreperedStatement可以避免SQL注入的问题。
如:String sql=“select * from admin where loginname=’”+loginName+"’ and loginpwd=’"+loginPwd+"’";
在应用中:
-》请输入账号:
333
-》请输入密码:
wer'or'1'='1
实际上发送:select * from admin where loginname='333' and loginpwd='wer'or'1'='1',登录成功!
通过PreperedStatement,如下:
PreperedStatement st = null;
String sql = “select * from users where name=? and password=?”;
//获取用于向数据库发送sql语句的Preperedstatement
st = conn.preparedStatement(sql);//在此次传入,进行预编译
st.setString(1, username);
st.setString(2, password);
//向数据库发sql
st.executeQuery();//