1.prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率,不用一直更改SQL语句,只需要修改变量就行了,还可以有效的防止SQL注入攻击。
2.使用 Statement 对象。在对数据库只执行一次性存取
PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。
3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,
preparedstatement是预编译得, preparedstatement支持批处理
使用statement
Statement stmt = connect.createStatement();
String sql= "SELECT * FROM 表名 WHERE 字段=值";
//去执行sql语句
ResultSet rs = stmt.executeUpdate(sql);
使用preparstatement
String Sql = "INSERT INTO qiuer(sName,sAge,sClass) VALUES (?,?,?)";
// 预先执行指令
PreparedStatement prmt = connection.prepareStatement(Sql);
// 用来向prmt中的sql语句放入 数据 可以是从页面来的 可以是从后台来的
prmt.setString(1,qiuer.getsName());
prmt.setInt(2,qiuer.getsAge());
prmt.setString(3,qiuer.getsClass());
// 执行prmt指令 增删改 语句
prmt.executeUpdate();
// 查询语句
// prmt.executeQuery()