什么是驱动?
驱动是指计算机系统中的一种软件程序,它用于控制硬件设备的操作。每个硬件设备都需要与操作系统进行通信,而操作系统需要知道如何与每个设备进行通信,这就是驱动程序的作用。
什么是jdbc?
JDBC 是 Java 数据库连接的标准,它是 Java SE 平台的一部分。它提供了一种标准的方法来访问各种关系型数据库,如 MySQL、Oracle、Microsoft SQL Server 等。JDBC 通过驱动程序实现与各种不同类型的数据库的连接,开发者需要使用不同的驱动程序来连接不同类型的数据库。JDBC API 是基于 Java 语言的,因此它在 Java 应用程序中的使用非常方便。开发者可以使用 JDBC API 来执行 SQL 查询、更新和存储过程,以及管理数据库事务等操作。
jdbc和PDO?
不知道学过php但刚接触java的朋友会不会有和我类似的想法:java的jdbc和php的pdo很像,都是数据库访问接口,它们的目的是为了方便开发者在程序中与数据库交互。因此,它们在本质上是相同的,他们最大的不同或许是实现方式。
一是驱动程序:JDBC 需要使用不同的驱动程序来连接不同类型的数据库,例如使用 MySQL 驱动程序来连接 MySQL 数据库。而 PDO 支持多种不同类型的数据库,并且可以使用同一个驱动程序来连接这些不同类型的数据库。
二是编程模型:JDBC 是一种基于 Java 语言的 API,因此它的编程模型是面向对象的。而 PDO 更加简洁和直观,并且使用类似于函数的方式来访问数据库。
jdbc连接数据库步骤
使用JDBC连接mysql需要以下步骤:
1导入JDBC驱动程序的jar包:JDBC驱动程序通常由数据库供应商提供,需要将其jar包导入到项目中。
2加载JDBC驱动程序:在使用JDBC之前,需要使用Class.forName()方法来加载JDBC驱动程序。例如,加载MySQL的JDBC驱动程序:
3. 建立数据库连接:使用DriverManager.getConnection()方法来建立与数据库的连 接。该方法需要指定连接数据库的URL、用户名和密码。例如,连接到名为 mydatabase的MySQL数据库:
4创建Statement对象:使用Connection.createStatement()方法创建Statement对象,用于执行SQL语句。例如:
5执行SQL语句:使用Statement对象的execute()、executeUpdate()或executeQuery()方法来执行SQL语句。例如:
6处理查询结果:使用ResultSet对象来处理查询结果。例如:
7关闭数据库连接:在使用完数据库之后,需要使用Connection.close()方法关闭数据库连接。例如:
8注意,在使用完数据库之后,需要及时关闭数据库连接,以释放数据库资源。同时,也可以使用try-with-resources语句来自动关闭数据库连接,例如:
上述代码片段中,try-with-resources语句会自动关闭数据库连接、Statement对象和ResultSet对象。
实践
本次学习在windows的环境下进行
1、安装mysql jdbc驱动程序
略
下载下来是一个jar包
2、idea导入mysql驱动
3、加载与注册JDBC驱动
Class.forName("com.mysql.jdbc.Driver");
4、创建数据库连接
这里我提前创建了test数据库
// 创建数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "");
5、创建对象,执行查询语句
// 创建SQL查询语句
String sql = "select * from test";
// 创建Statement对象
Statement stmt = conn.createStatement();
// 执行查询语句
ResultSet rs = stmt.executeQuery(sql);
6、处理结果集
while (rs.next()) {
String name = rs.getString("username");
String password = rs.getString("password");
System.out.println("Name: " + name);
System.out.println("Password: " + password);
}
7、关闭连接
rs.close();
stmt.close();
conn.close();
完整代码:
package myjdbc;
import java.sql.*;
public class jdbc {
public static void main(String[] args) {
try {
// 加载MySQL JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "");
// 创建SQL查询语句
String sql = "select * from test";
// 创建Statement对象
Statement stmt = conn.createStatement();
// 执行查询语句
ResultSet rs = stmt.executeQuery(sql);
// 处理结果集
while (rs.next()) {
String name = rs.getString("username");
String password = rs.getString("password");
System.out.println("Name: " + name);
System.out.println("Password: " + password);
}
// 关闭连接
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}