目录
一、JDBC的定义
JDBC(Java Database Connectivity)是Java语言中用于访问关系型数据库的一种标准API。它提供了一组接口和类,使Java应用程序能够与各种数据库进行连接、执行SQL查询和更新操作,并处理数据库的结果。
二、JDBC的主要组成部分
- DriverManager:驱动管理类,负责管理一组可以建立数据库连接的驱动程序。DriverManager会自动加载驱动包中的驱动类:com.mysql.cj.jdbc.Dirver,并返回驱动包中的Connection接口的实现类对象
- Driver:数据库驱动程序实现的接口,用于与具体的数据库后端进行通信。
- Connection:表示与数据库建立的连接,并提供了执行SQL语句和事务管理的方法。
- Statement和PreparedStatement:用于执行SQL语句,Statement是常规的SQL语句执行接口,PreparedStatement是预编译的SQL语句执行接口。
- ResultSet:表示查询结果集,并提供了对查询结果的访问和操作方法。
三、JDBC的基本执行流程
-
加载数据库驱动程序:通过反射的方式加载驱动包,现在基本无需手动添加驱动包了。
-
建立数据库连接:使用
DriverManager.getConnection()
方法创建与数据库的连接,需要提供数据库的URL、用户名和密码。 -
创建Statement对象:使用
connection.createStatement()
方法创建一个Statement对象,用于执行SQL语句。 -
执行SQL语句:使用Statement对象的
executeQuery()
方法执行查询语句,或者使用executeUpdate()
方法执行更新语句。 -
处理结果集:如果执行的是查询语句,可以使用
ResultSet
对象来处理查询结果。 -
关闭连接:使用
connection.close()
方法关闭数据库连接,释放资源。
// 通过反射的方式加载驱动包
Class.forName("com.mysql.cj.jdbc.Dirver");
// 1.创建连接
try (Connection con = DriverManager.getConnection(db_url,db_name,db_pass)){
// 2.创建Statement对象执行数据库操作
try(Statement st = con.createStatement()){
// 3.执行查询,并获取resultSet结果集
try(ResultSet rs = st.executeQuery("select * from website")){
// 4.对结果集进行遍历
// 虽然使用try-with-resource可以自动关闭连接,但也可以手动调用一下
con.close();
}
}
}