JDBC是Java的一种用于操作关系型数据库(如MySQL、Oracle、SQL Server等)的API,其中与获取数据库连接相关的类和接口都可以在java.sql
和javax.sql
包中找到。
下面是使用JDBC获取数据库连接的完整攻略:
1. 导入JDBC驱动程序
使用JDBC访问数据库时,需要下载并导入相应的数据库驱动程序。此处以MySQL为例说明,下载并导入MySQL的JDBC驱动程序的方法如下:
直接下载JDBC驱动包,然后将其复制到项目中:
$ wget https://dev.mysql.com/downloads/connector/j/8.0/mysql-connector-java-8.0.23.tar.gz
$ tar -zxvf mysql-connector-java-8.0.23.tar.gz
$ cp mysql-connector-java-8.0.23/mysql-connector-java-8.0.23.jar <项目路径>
或使用Maven依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
2. 注册JDBC驱动程序
使用JDBC访问数据库时,需要先注册JDBC驱动程序。如果使用的是MySQL,注册代码如下:
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
相当于在类路径中查找并加载MySQL驱动程序。如果注册成功,则会将该驱动程序中的Driver
类注册到java.sql.DriverManager
中。
3. 获取数据库连接
JDBC通过DriverManager
类来管理数据库驱动程序和数据库连接。获取数据库连接的代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtils {
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USERNAME = "root";
private static final String PASSWORD = "root";
/**
* 获取数据库连接
* @return 数据库连接
*/
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
以上代码封装了获取数据库连接的方法,URL、USERNAME和PASSWORD为连接MySQL数据库的必要参数。如果需要连接其他数据库,URL中的协议、主机名、端口号、数据库名等参数需要相应改变。
4. 示例说明
以下为两条示例说明:
示例1
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Demo {
public static void main(String[] args) {
Connection conn = DBUtils.getConnection();
try {
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM user WHERE name = ?");
pstmt.setString(1, "Tom");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("password"));
}
rs.close();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
以上代码使用DBUtils类中的方法获取数据库连接,然后通过PreparedStatement
对象实现对数据库的查询操作。
示例2
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo {
public static void main(String[] args) {
Connection conn = DBUtils.getConnection();
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM user");
while (rs.next()) {
System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("password"));
}
rs.close();
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
以上代码使用DBUtils类中的方法获取数据库连接,然后通过Statement
对象实现对数据库的查询操作。
综上所述,使用JDBC获取数据库连接的攻略经过了以下步骤:导入JDBC驱动程序、注册JDBC驱动程序、获取数据库连接。并给出了以上步骤的具体示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JDBC如何获取数据库连接 - Python技术站