阅读背景:

PreparedStatement和Statement的区别_LiAphrodite的博客

来源:互联网 
            //PreparedStatement
            //String sql="select * from student where id=?";
            //PreparedStatement ps=connection.PrepareStatement(sql);
            //ps.setInt(1,3);
            //ResultSet rs=ps.executeQuery(sql);
            //1.性能好,因为具有预编译,类似于java文件的预编译
            //使用占位符进行预编译,然后动态传入一个语句,不用再编译了,直接执行就好
            //2.sql注入,sql漏洞:能保证安全性,因为如果传一个字符串进来1= or 1=1,
            //动态输入时,可以报错
            //动态输入时可以校验一下

            //Statement
            //String sql="select * from student where id=3";
            //Statement statement=connection.createStatement();
            //ResultSet rs=statement.executeQuery(sql);
            //每次用都编译一次,改一次值就有编译
            //String sql="select * from student where id=1 or 1=1"; 会查出所有数据
            //无法验证传入的参数是什么东西,会把传入的东西当做字符串来拼接
            // 结果就不是想要的结果,但是没有报错,所以安全性能没有PreparedStatement高            //PreparedStatement
            //S



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: