JDBC(Java DataBase Connectivity,Java数据库连接)是一种Java语言中用于连接和操作数据库的标准接口。它允许Java程序通过定义一组标准化的Java接口,与各种关系型数据库进行交互,实现在Java程序中进行数据的增删改查等操作。
JDBC连接数据库的基本步骤包括加载数据库驱动、建立连接、创建statement对象、执行SQL语句、处理查询结果、关闭连接等。下面给出两个示例展示JDBC的使用。
示例一:连接MySQL数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCTest {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 加载MySQL驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立连接
String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
// 创建statement对象
String sql = "SELECT * FROM user";
ps = conn.prepareStatement(sql);
// 执行查询操作
rs = ps.executeQuery();
// 处理查询结果
while (rs.next()) {
System.out.print(rs.getInt("id") + "\t");
System.out.print(rs.getString("name") + "\t");
System.out.print(rs.getInt("age") + "\t");
System.out.println(rs.getString("address"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
上面的示例展示了如何使用JDBC连接MySQL数据库,并执行查询操作打印查询结果。
示例二:连接Oracle数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCTest {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 加载Oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
// 建立连接
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "scott";
String password = "tiger";
conn = DriverManager.getConnection(url, user, password);
// 创建statement对象
String sql = "SELECT * FROM emp WHERE deptno = ?";
ps = conn.prepareStatement(sql);
ps.setInt(1, 10);
// 执行查询操作
rs = ps.executeQuery();
// 处理查询结果
while (rs.next()) {
System.out.print(rs.getInt("empno") + "\t");
System.out.print(rs.getString("ename") + "\t");
System.out.print(rs.getString("job") + "\t");
System.out.print(rs.getInt("mgr") + "\t");
System.out.print(rs.getDate("hiredate") + "\t");
System.out.print(rs.getDouble("sal") + "\t");
System.out.print(rs.getDouble("comm") + "\t");
System.out.println(rs.getInt("deptno"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
上面的示例展示了如何使用JDBC连接Oracle数据库,并执行参数查询操作打印查询结果。使用JDBC能够很方便地连接各种关系型数据库,实现Java程序与数据库的交互。