目录

Java 操作数据库(一) JDBC入门

本节目标

  • 认识 JDBC
  • 熟悉 JDBC 常用类和接口

什么是 JDBC(Java Database Connectivity)

JDBC 是用于在 Java 语言编程中与数据库连接的 API 规范,JDBC 这套接口的实现称为数据库驱动 ,由各数据库厂商研发提供。

JDBC 常用类和接口

Driven 接口(驱动)

  • 各个数据库厂商的提供的,对 Sun 公司提出的 Connection 等 JDBC 接口的实现。
  • 装载驱动
    • Mysql Class.forName("com.mysql.cj.jdbc.Driver");
    • Oracle Class.forName("oracle.jdbc.driver.OracleDriver");

DriverManager 接口

  • DriverManager 是 JDBC 的管理层,作用于用户和驱动程序之间。
  • DriverManager 跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。

Connection 接口

  • Connection 与特定数据库的连接(会话),在连接上下文中执行 SQL 语句并返回结果。
  • DriverManager 的 getConnection() 方法建立在 JDBC URL 中定义的数据库 Connection 连接上。
  • 连接 MySQL 数据库:Connection con = DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");
  • 连接 ORACLE 数据库:Connection con = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database","user","password");

Statement 接口

  • 用于执行静态 SQL 语句并返回它所生成结果的对象。
  • 三种 Statement 类:
    • Statement: 由 createStatement() 创建,用于发送简单的 SQL 语句。
    • PreparedStatement:继承自 Statement 接口,由 PreparedStatement() 创建,用于发送含有一个或多个输入参数的 SQL 语句。(PreparedStatement 对象比 Statement 对象的效率更高 ,并且可以防止 SQL 注入)
    • CallableStatement: 继承自 PreparedStatement,由 prePareCall() 创建,用于调用存储过程。
  • 常用的 Statement 方法:
    • execute():运行语句,返回是否有结果集。
    • executeQuery(): 运行 select 语句,返回 ResultSet 结果集。
    • executeUpdate(): 运行 insert/update/delete 操作,返回更新的行数。

ResultSet 接口

  • Statement 执行 SQL 语句时返回 ResultSet 结果集 。
  • ResultSet 提供的检索不同类型字段的方法,常用的有 :
    • getString() : 获得在数据库里的 varchar、char 等数据类型的对象。
    • getFloat(): 获得杂数据库里是 Float 类型的对象。
    • getDate(): 获得在数据库里面是 Date 类型的数据。
    • getBoolean(): 获得在数据库里面是 Boolean 类型的数据。