jdbc概述及使用
1. jdbc的作用
1.1 JDBC概述
jdbc是SUN公司规定的一种数据库连接java程序的java代码规范。
1.2 JDBC连接数据库的核心参数
明确连接的是哪一个数据库:提供对应数据库的明确驱动。导入第三方jar包,打通java 和数据库之间的2联系。
数据库位置:需要数据库对应的主机名,域名和IP地址以及端口号。
对应数据库的用户名和密码。
1.3 JDBC连接数据库实例
// JDBC 导包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1. 准备必要数据库连接参数,URL,用户名和密码
String jdbcUrl = "jdbc:mysql://localhost:3306/gp_01?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false";
String username = "root";
String password = "123456";
/*
2. 加载驱动、
Class.forName
1. 可以获取指定类型的 Class 对象
2. 如果对应类型当前 Java 程序尚未加载,可以加载指定类型
驱动加载使用的就是 第二个 Class.forName 功能
*/
Class.forName("com.mysql.jdbc.Driver");
// 3. 获取数据库连接对象
Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
System.out.println(connection);
// 4. 关闭资源
connection.close();
}
}
1.4 JDBC核心方法
1.4.1 JDBC驱动管理类
主要负责驱动注册和数据库连接对象的获取
class java.sql.DriverManager
常用方法有:
public static void registerDriver(java.sql.Driver driver);
注册符合 JDBC 规范要求的 Driver对象,增强当前java程序,可以操作数据库
public static java.sql.Connection getConnection(String jdbcUrl, String username,
String password)
根据提供的数据库URL,用户名和密码三个参数获取到数据库连接对象
1.4.2 JDBC数据库操作方法
interface java.sql.Connection
Java JDBC 数据库连接对象接口,主要用于获取数据库连接相关的信息,获取数据库 SQL 搬运工对象
常用方法有:
public java.sql.Statement createStatement();
通过该数据库连接对象,获取对应当前数据库的 SQL 语句搬运工对象
public java.sql.PreparedStatement prepareStatement(String sql);
通过该数据库连接对象,根据参数 SQL 语句,获取对应当前数据库的 SQL 语句预处理搬运工对象。
Statement()和PrepareStatement的区别:
Statement 是直接通过 Connection 数据库连接对象获取,只是 SQL 语句搬运工,有可能会导致 SQL 注入问题。
PreparedStatement 数据库连接对象根据 SQL 预计预处理得到 PreparedStatement 对象,支持参数占位,允许
SQL 语句赋值参数操作,可以防止 SQL 注入问题。
2 . JDBC封装
2.1 封装思路
资源管理工具类,仅负责数据哭相关资源的创建和关闭。
针对SQL语句的处理 【update】和 【query】
2.2 封装步骤
定义三个核心参数 jdbUrl,username,password.
利用静态代码块完成自动化配置,驱动加载操作。
获取数据库连接对象 java.sql.Connection
获取目标SQL语句
通过Connection获取数据库搬运工对象(Statement, PreparedStatement)
执行SQL 语句,得到ResultSet 结果集对象
解析 ResultSet
关闭资源
2.4 元数据
Connection 数据库元数据
Statement SQL 语句搬运工元数据
ResultSet 结果集元数据