数据库
首页 > 数据库> > 用预查询(JDBC里的preparedstatement)为什么比直接用字符串拼SQL效率高

用预查询(JDBC里的preparedstatement)为什么比直接用字符串拼SQL效率高

作者:互联网

用预查询(JDBC里的preparedstatement)为什么比直接用字符串拼SQL效率高

用JDBC里的preparedstatement的好处

1、相对比较安全,可以防止sql注入

2、有预编译功能,相同操作批量数据效率较高

import 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();
    }
}

3、讲讲区别

4、提出疑问

那么什么时候preparedstatement效果会比字符串拼接差,这得问老师

标签:preparedstatement,数据库,SQL,JDBC,statement,sql,password,pstmt
来源: https://blog.csdn.net/g2kajun/article/details/117823317