1.JDBC

Java DataBase Connectivity 是⼀个独⽴于特定数据库的管理系统,通⽤的 SQL 数据库存取和操作的公共接⼝。
它定义了⼀组标准,为访问不同数据库提供了统⼀的途径。
在这里插入图片描述

2.JDBC体系

(1)JDBC接口包括两个层面

  • ⾯向应⽤的 API,供程序员调⽤
  • ⾯向数据库的 API,供⼚商开发数据库的驱动程序

(2)
①JDBC API
提供者:Java 官⽅
内容:供开发者调⽤的接⼝

②DriverManager(驱动管理器)
提供者:Java 官⽅
作⽤:管理不同的 JDBC 驱动
JDBC 驱动
提供者:数据库⼚商
作⽤:负责连接不同的数据库

3.JDBC使用

  1. 加载数据库驱动,Java 程序和数据库之间的桥梁。
  2. 获取 Connection,Java 程序与数据库的⼀次连接。
  3. 创建 Statement 对象,由 Connection 产⽣,执⾏ SQL 语句。
  4. 如果需要接收返回值,创建 ResultSet 对象,保存 Statement 执⾏之后所查询到的结果。

4.PreparedStatement

 它是Statement子类,提供了SQL占位符的功能。直接使⽤ Statement 进⾏开发有两个问题:

  • 需要频繁拼接 String 字符串,出错率较⾼。
  • 存在 SQL 注⼊的⻛险

SQL 注⼊:利⽤某些系统没有对⽤户输⼊的信息进⾏充分检测,在⽤户输⼊的数据中注⼊⾮法的 SQL
语句,从⽽利⽤系统的 SQL 引擎完成恶意⾏为的做法

在这里插入图片描述但还是要注意,PreparedStatement不一定能100%防止SQL注入。因为一旦SQL变得复杂起来,其漏洞也会变大而难以检查。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐