//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