JDBC的概述和简单使用
1. 概念
JDBC是 Java DataBase Connectivity 的简写,翻译过来就是 Java 操作数据库。目的是使用统一的Java代码操作所有关系型数据库。
JDBC实际是定义了一套操作所有关系型数据库的接口;不同的数据库厂商根据自己的数据库实现了这套接口,提供数据库的驱动 jar 包。使用JDBC接口编程,实际上执行操作的是驱动 jar 包中的类。
2. 基本步骤
- 导入驱动 jar 包
不同的数据库提供了不同的 jar 包,提供的 jar 包也需要选择跟数据库版本匹配的版本。 - 注册驱动
Class.forName("驱动文件");
其实驱动文件就是 jar 包中驱动文件的目录。
- 获取数据库连接对象
Connection conn = DriverManager.getConnection("url地址","用户名","密码");
- 定义SQL语句
String sql = "SQL语句";
- 获取执行SQL的对象
Statement stat = conn.createStatement();
- 执行SQL语句
stat.方法(sql)
- 释放资源
stat.close(); conn.close();
3. 例子
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/" +
"db?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false",
"root","root");
String sql = "UPDATE user SET age=66 WHERE id=1";
stmt = conn.createStatement();
int num = stmt.executeUpdate(sql);
if (num > 0) {
System.out.println("Update successfully");
}else{
System.out.println("Update failed");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if(stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}