1.什么是JDBC
JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序
JDBC 数据库访问规范
应用程序 <-> JDBC <-> MySQL驱动 <-> MySQL
<-> Oracle驱动 <-> Oracle
导入jar包
加载驱动 Class.forName(‘类名')
给出url、username、password
使用DriverManager类得到Connection类
maven导入依赖
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
</dependencies>
连接示例
import java.sql.Connection;
import java.sql.DriverManager;
class Demo {
// MySQL >= 8.0 配置参数
private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DB_URL = "jdbc:mysql://localhost:3306/data";
private static final String USER = "root";
private static final String PASSWORD = "123456";
public static void main(String[] args) throws Exception {
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 等效于
// com.mysql.cj.jdbc.Driver driver = new com.mysql.cj.jdbc.Driver();
// DriverManager.registerDriver(driver);
// 打开链接
Connection conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
// 关闭链接
conn.close();
}
}
所有的java.sql.Driver实现类,都提供了static代码块,
块内代码把自己注册到DriverManager中
jdbc4.0之后 每个驱动jar包中,在META-INF/services目录下提供了一个java.sql.Driver文件
内容就是该接口的实现类名称
2.JDBC完成增、删、改、查
1、增、删、改
// 发送DML, DDL int Statement.executeUpdate(String sql);
代码示例
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开链接
Connection conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
Statement statement = conn.createStatement();
// 增删改
// String sql = "insert into student(sname) values('陆小凤')";
// String sql = "update student set sname='花无缺' where sid=4";
String sql = "delete from student where sid=4";
int ret = statement.executeUpdate(sql);
System.out.println(ret);
// 关闭链接
conn.close();
2、查询
ResultSet executeQuery(String querySql); boolean ResultSet.next(); // 获取列数据 ResultSet.getString() ResultSet.getObject() ResultSet.getInt() ResultSet.getDouble()
行光标
beforeFirst <- 默认光标位置










