java 连接 SQL server 的时候 preparedstatement 的预处理是怎么回事???

[复制链接]
查看11 | 回复1 | 2013-7-13 18:29:11 | 显示全部楼层 |阅读模式
1。prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率。 createStatement不会初始化,没有预处理,没次都是从0开始执行SQL。2。prepareStatement可以替换变量,防止恶意注入。 当你用statement时,如果对方随意输入一个帐号,并且密码是' or '1' = '1,那么会形成这样一个sql。。select * from tb_name = '随意' and passwd = '' or '1' = '1';statement无法阻止这个sql的成功执行,更有甚者传入';drop table tb_name;删除表的sql~~所有稍微...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行