利用prepareCall加速调用SQL【转自http://blog.sina.com.cn/u/1883416257 】

来源:互联网 发布:暗影格斗2破解办法mac 编辑:程序博客网 时间:2024/05/16 09:49

第一:

(1)prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率。

(2)Statement不会初始化,没有预处理,每次都是从0开始执行SQL。

第二:

(1)prepareStatement可以替换变量

     在SQL语句中可以包含?,可以用ps = conn.prepareStatement("select * from Cust where ID=?");

     int sid = 1001;

     ps.setInt(1,sid);

     rs = ps.executeQuery();

     可以把?替换成变量。

(2)Statement 只能用 int sid = 1001;

     Statement stmt = conn.createStatement();

     ResultSet rs = stmt.executeQuery("select * from Cust where ID="+sid);来实现

 

 

PreparedStatement的这三处优点:
一、代码的可读性和可维护性;
二、高效性;
三、安全性。

0 0