java中JDBC当中PreparedStatement和Statement的效率比较

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了java中JDBC当中PreparedStatement和Statement的效率比较脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

2.PreparedStatement和Statement的效率比较马克-to-win:前面介绍的Statement接口提供了执行sql语句和获取结果的基本方法。注 意对于有种情况,即,需要反复执行相同的sql语句时,Sun公司就为我们提供了另外一种对象:PreparedStatement。它翻译过来就是: “准备好的Statement”。用它的好处就是:当数据库见到PreparedStatement的sql语句时,数据库端直接先到数据库缓冲区当中找 它,如找不到,则会编译它一次(就像把java文件编译成class文件似的,请问java文件能直接运行吗?所以你的“UPDATE login SET name = ? WHERE id = ?”也需要编译一下,才能执行)。如能找到,就直接用。下次再遇到,就省事了。而对于Statement对象,就没有这种待遇。次次见,次次编译。注意:如果sql语句只执行一次,以后不再复用,则建议采用Statement,因为Statement不会对sql进行预编译。例:2.2.1import java.io.IOException;public class TestMark_to_win {    public static void main(String[] args) throws java.sql.SQLException,            ClassNotFoundException, IOException {        int i = 0;        java.sql.Connection connection = null;        java.sql.PreparedStatement pstmt;        Class.forName("com.mysql.jdbc.Driver");        connection = java.sql.DriverManager.getConnection(                "jdbc:mysql://localhost:3306/test", "root", "1234");        pstmt = connection                .prepareStatement("UPDATE login SET name = ? WHERE id = ?");        long t = System.currentTimeMillis();        for(i=0;i<10000;i++) {            pstmt.setString(1, "qqqq");            pstmt.setString(2, "2");            pstmt.executeUpdate();        }        t = System.currentTimeMillis() - t;        System.out.println("用了如下时间:" + t);        pstmt.close();        System.out.println("ok");        connection.close();    }}更多内容请见原文,文章转载自:https://blog.csdn.net/qq_43650923/article/details/100831573

脚本宝典总结

以上是脚本宝典为你收集整理的java中JDBC当中PreparedStatement和Statement的效率比较全部内容,希望文章能够帮你解决java中JDBC当中PreparedStatement和Statement的效率比较所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:数据库