JDBC入门
什么是JDBC
JDBC,Java DataBase Connectivity,是 Java 访问数据库的标准规范,是规范定义接口,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以只需要会调用 JDBC 接口中的方法即可,数据库驱动,即驱动类由数据库厂商提供。
JDBC的优势
- 程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
- 使用同⼀套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库。
核心包和API
使用JDBC开发使用到的包:
JDBC的核⼼API:
导包与加载注册驱动
导包:
在工程下新建一个lib文件夹。
复制粘贴。
选择加入库。
在Modules中勾选并Apply。
成功。
加载与注册驱动:
加载和注册驱动的方法 | 描述 |
---|---|
Class.forName(数据驱动实现类) |
加载和注册数据库驱动,数据库驱动由 MySQL 厂商"com.mysql.jdbc.Driver" |
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException {
//抛出类找不到的异常,注册数据库驱动
Class.forName("com.mysql.jdbc.Driver");
}
}
DriverManager类
DriverManager类的作用
- 管理和注册驱动
- 创建数据库的连接
方法、参数及格式
类中的方法
使用JDBC连接数据库的参数
连接数据库的URL地址格式
- 协议名:子协议://服务器名或 IP 地址:端口号/数据库名?参数=参数值
MySQL中的写法
- 前提:必须是本地服务器,端口号是 3306
- jdbc:mysql:///数据库名
如果数据库出现乱码,可以指定参数: ?characterEncoding=utf8 ,表示让数据库以 UTF-8 编码来处理数据。
jdbc:mysql://localhost:3306/数据库?characterEncoding=utf8
Connection接口
作用
Connection 接口,具体的实现类由数据库的厂商实现,代表⼀个连接对象。
方法
Connection 接口中的方法 | 描述 |
---|---|
Statement createStatement() | 创建⼀条 SQL 语句对象 |
Statement接口
连接数据库的步骤
- 注册和加载驱动(可以省略)
- 获取连接
- Connection 获取 Statement 对象
- 使用 Statement 对象执行 SQL 语句
- 返回结果集
- 释放资源
作用
代表⼀条语句对象,用于发送 SQL 语句给服务器,用于执行静态 SQL 语句并返回它所生成结果的对象。
方法
Statement 接口中的方法 | 描述 |
---|---|
int executeUpdate(String sql) | 用于发送 DML 语句,增删改的操作,insert、 |
ResultSet |
用于发送 DQL 语句,执行查询的操作 select |
释放资源
- 需要释放的对象:ResultSet 结果集,Statement 语句,Connection 连接。
- 释放原则:先开的后关,后开的先关。
- ResultSet → Statement → Connection
- 放在finally代码块中。
执行DDL操作
public static void main(String[] args