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代码实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 @   小南的歌  阅读(123)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示