prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率。
createStatement不会初始化,没有预处理,每次都是从0开始执行SQL
第二
prepareStatement可以替换变量
在SQL语句中可以包含?
ps=conn.prepareStatement("select* from Cust where ID=?"); int sid=1001; ps.setInt(1, sid); rs = ps.executeQuery();
可以把?替换成变量。
而Statement只能用
int sid=1001; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from Cust where ID="+sid);
来实现。