jdbc中使用PreperedStatement避免SQL注入

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();//

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值