mybatis执行器1---简单描述JDBC

1、简单描述JDBC

  (1)、JDBC的执行过程

 

  (2)JDBC的三种执行器(也不叫执行器,可以叫做执行计划)

 

a、preparestatement预编译,预编译指的是DB的编译器,会对此sql语句提前编译。然后将预编译的sql语句缓存起来,下次执行时,直接通过设置值的方式,执行语句。(都是数据库做的)

b、statement是每次都需要数据库编译器编译,然后进行查询。

c、Callable Statement对应存储过程。可以设置出参和读取入参。

d、当执行批处理时,Statement的优点是可以一次发送多条不同的静态sql。preparestatement的优点是当执行同一条语句设置不同的参数时,可以一次性完成。

(3)、sql注入简单描述

 preparestatement向数据库发送的语句是预编译之后的语句以及需要传入的参数。发送到数据后数据库进行参数转义,解析处理。从而防止sql注入。

 statement传入的是拼装好的sql语句,因此数据库会直接编译执行,发送注入风险。

 (3)、传输相关的几种参数(也就是JDBC到数据可以携带的传输相关的参数。应用可认为是JDBC):

2、JDBC代码实例:

   public void jdbcTest() throws SQLException {
        // 预编译
        String sql = "SELECT * FROM users WHERE `name`=?";
        PreparedStatement sql1 = connection.prepareStatement(sql);
        sql1.setString(1,"张麻子");//设置你需要查询的name
        System.out.println(sql);
        sql1.execute();
        ResultSet resultSet = sql1.getResultSet();
        //获取结果集之后需要根据查询结果的类型来取得最终的值。
        while (resultSet.next()) {
            System.out.println(resultSet.getInt(1));
            System.out.println(resultSet.getString(2));
        }
        resultSet.close();
        sql1.close();;
    }

  

posted @ 2020-08-23 20:20  小南的歌  阅读(120)  评论(0编辑  收藏  举报