官方参考文档:https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
以下代码案例链接:
https://download.csdn.net/download/weixin_45525272/19571149
1. JDBC 入门
1.1 客户端操作 MySQL 数据库的方式:
使用第三方客户端来访问 MySQL:SQLyog、Navicat、SQLWave、MyDB Studio、EMS SQL Manager for MySQL
使用 MySQL 自带的命令行方式、通过 Java 来访问 MySQL 数据库
1.1.1什么是 JDBC
JDBC 规范定义接口,具体的实现由各大数据库厂商来实现。
JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即可,数据库驱动由数据库厂商提供。
使用 JDBC 的好处:
程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库
1.1.2 使用 JDBC 开发使用到的包:
1.2 JDBC 的核心 API
1.3导入驱动 Jar 包
1.4加载和注册驱动
注册驱动代码:
public class Demo1 { public static void main(String[] args) throws ClassNotFoundException { //抛出类找不到的异常,注册数据库驱动 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这句话可以省略。
2. DriverManager 类
2.1DriverManager 作用:
1)管理和注册驱动
2)创建数据库的连接
2.2类中的方法:
2.3 使用 JDBC 连接数据库的四个参数:
2.4 连接数据库的 URL 地址格式:
协议名:子协议://服务器名或 IP 地址:端口号/数据库名?参数=参数值
2.4.1MySQL 写法:
2.4.2MySQL 中可以简写:
前提:必须是本地服务器,端口号是 3306
jdbc:mysql:///数据库名
2.4.3乱码的处理
如果数据库出现乱码,可以指定参数: ?characterEncoding=utf8,表示让数据库以 UTF-8 编码来处理数据。
jdbc:mysql://localhost:3306/数据库?characterEncoding=utf8
2.5 案例:得到 MySQL 的数据库连接对象
2.5.1 使用用户名、密码、URL 得到连接对象
package com.sqltest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * 得到连接对象*/ public class Demo2 { public static void main(String[] args) throws SQLException { String url = "jdbc:mysql://localhost:3306/day24"; //1) 使用用户名、密码、URL 得到连接对象 Connection connection = DriverManager.getConnection(url, "root", "root"); //com.mysql.jdbc.JDBC4Connection@68de145 System.out.println(connection); } }
2.5.2 使用属性文件和 url 得到连接对象
package com.sqltest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; public class Demo3 { public static void main(String[] args) throws SQLException { //url 连接字符串 String url = "jdbc:mysql://localhost:3306/day24"; //属性对象 Properties info = new Properties(); //把用户名和密码放在 info 对象中 info.setProperty("user","root"); info.setProperty("password","root"); Connection connection = DriverManager.getConnection(url, info); //com.mysql.jdbc.JDBC4Connection@68de145 System.out.println(connection); } }
3. Connection 接口:
3.1 Connection 作用:
Connection 接口,具体的实现类由数据库的厂商实现,代表一个连接对象。
3.2 Connection 方法:










