MySQL为例讲解JDBC数据库连接步骤
JDBC简介
JDBC(Java Database Connectivity)是一种Java语言中访问数据库的API(Application Programming Interface)。
JDBC可以让Java程序连接到各种关系型数据库,进行数据的读取、写入操作等。JDBC的设计目标是使Java程序员从不同的关系型数据库中访问和处理数据,以作为一个独立的数据管理层。
准备工作
在使用JDBC之前,需要先在项目中引入JDBC驱动包。以MySQL为例,可以从官网 https://dev.mysql.com/downloads/connector/j/下载对应的驱动包。
下载完成后,将驱动包添加到项目的classpath路径下。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
步骤
连接数据库的步骤可以分为以下几步:
- 加载数据库驱动
- 获取数据库连接
- 创建statement对象
- 执行SQL语句
- 处理查询结果
- 关闭各种连接
下面是一个简单的示例:
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?", "root", "password");
// 创建statement对象
stmt = conn.createStatement();
// 执行SQL语句
rs = stmt.executeQuery("select * from student");
// 处理查询结果
while (rs.next()) {
String name = rs.getString("name");
String age = rs.getString("age");
System.out.println("name: " + name + ", age: " + age);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭各种连接
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
示例2
下面是一个带参数查询的示例:
import java.sql.*;
public class JdbcDemo2 {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?", "root", "password");
// 创建statement对象
String sql = "select * from student where age > ?";
stmt = conn.prepareStatement(sql);
// 设置参数
stmt.setString(1, "20");
// 执行SQL语句
rs = stmt.executeQuery();
// 处理查询结果
while (rs.next()) {
String name = rs.getString("name");
String age = rs.getString("age");
System.out.println("name: " + name + ", age: " + age);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭各种连接
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
总结
JDBC可以帮助我们很方便地访问各种关系型数据库,但在使用中需要注意关闭各种连接,以避免资源占用过程中可能的问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL为例讲解JDBC数据库连接步骤 - Python技术站