开发者社区> 问答> 正文

能说说preparedStatement和Statement的区别都是些什么吗?

能说说preparedStatement和Statement的区别都是些什么吗?

展开
收起
游客vwuxaq6iqaowc 2021-10-26 22:40:51 685 0
1 条回答
写回答
取消 提交回答
  • 1) 效率:预编译会话比普通会话对象,数据库系统不会对相同的sql语句不会再次编译 2) 安全性,可以有效的避免sql注入攻击!sql注入攻击就是从客户端输入一些非法的特殊字符,而使服务器端在构造sql语句的时候仍然能够正确构造,从而收集程序和服务器的信息和数据。 比如:“select * from t_user where userName = ‘” + userName + “ ’ and password =’” + password + “’” 如果用户名和密码输入的是’1’ or ‘1’=’1’ ; 则生产的sql语句是: “select * from t_user where userName = ‘1’ or ‘1’ =’1’ and password =’1’ or ‘1’=’1’ 这个语句中的where 部分没有起到对数据筛选的作用。

    2021-10-26 22:41:46
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Comparison of Spark SQL with H 立即下载
Spark SQL: Past, Present and Future 立即下载
Spark SQL:Past Present &Future 立即下载