客户端操作 MySQL 数据库的方式:
1)使用第三方客户端来访问 MySQL:SQLyog、Navicat、SQLWave、MyDB Studio、EMS SQL Manager for MySQL
2)使用 MySQL 自带的命令行方式
3) 通过 Java 来访问 MySQL 数据库,今天要学习的内容\
3.1.1 什么是 JDBC
JDBC 规范定义接口,具体的实现由各大数据库厂商来实现。
JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个
数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即
可,数据库驱动由数据库厂商提供。
使用 JDBC 的好处:
1) 程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
2) 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库
3.1.2 使用 JDBC 开发使用到的包:
会使用到的包
说明
java.sql
所有与 JDBC 访问数据库相关的接口和类
javax.sql
数据库扩展包,提供数据库额外的功能。如:连接池
数据库的驱动
由各大数据库厂商提供,需要额外去下载,是对 JDBC 接口实现的类
3.2 JDBC 的核心 API
接口或类
作用
DriverManager 类
1) 管理和注册数据库驱动
2) 得到数据库连接对象
Connection 接口
一个连接对象,可用于创建 Statement 和 PreparedStatement 对象
Statement 接口
一个 SQL 语句对象,用于将 SQL 语句发送给数据库服务器。
PreparedStatemen 接口
一个 SQL 语句对象,是 Statement 的子接口
ResultSet 接口
3.3 导入驱动 Jar 包
3.4 加载和注册驱动
加载和注册驱动的方法
描述
Class.forName(数据库驱动实现类)
加载和注册数据库驱动,数据库驱动由 mysql 厂商 "com.mysql.jdbc.Driver"
疑问:为什么这样可以注册驱动?
package com.lqg;
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException {
3 / 21//抛出类找不到的异常,注册数据库驱动
Class.forName("com.mysql.jdbc.Driver");
}
}
com.mysql.jdbc.Driver 源代码:
// Driver 接口,所有数据库厂商必须实现的接口,表示这是一个驱动类。
public class Driver implements java.sql.Driver {
public Driver() throws SQLException {
}
static {
try {
DriverManager.registerDriver(new Driver()); //注册数据库驱动
} catch (SQLException var1) {
throw new RuntimeException("Can't register driver!");
}
}
}
注:从 JDBC3 开始,目前已经普遍使用的版本。可以不用注册驱动而直接使用。Class.forName 这句话可以省略。