Oracle通过JDBC连接Java
- 一、什么是JDBC
- 二、Oracle通过JDBC连接Java
- 1、导入jar包
- 1.1 下载jar包
- 1.2 将jar包导入到java项目中
- 1.3编译jar包
- 2、连接数据库
- 2.1 编写jdbc工具类
- 2.2 对数据进行基本操作
一、什么是JDBC
JDBC(Java Database Connectivity)是Java语言用于与数据库进行连接和交互的标准API。它提供了一种统一的方式来访问各种不同类型的数据库,包括Oracle、MySQL、SQL Server等。JDBC允许开发人员使用Java编程语言来执行SQL查询、更新数据库记录以及处理事务等操作。
在Oracle数据库中,使用JDBC可以通过以下步骤进行连接和操作:
-
加载数据库驱动程序:使用
Class.forName
方法加载特定数据库的JDBC驱动程序,例如oracle.jdbc.driver.OracleDriver
。 -
建立数据库连接:使用
DriverManager.getConnection
方法来获取与数据库的连接,需要提供数据库的URL、用户名和密码。 -
创建并执行SQL语句:使用
Statement
或PreparedStatement
对象来创建和执行SQL查询、插入、更新和删除等操作。 -
处理查询结果:对于SELECT语句,可以通过
ResultSet
对象获取查询结果,并进行相应的处理。 -
关闭数据库连接:在操作完成后,需要调用
Connection
对象的close
方法来关闭数据库连接,释放资源。
通过JDBC,开发人员可以在Java应用程序中轻松地与Oracle数据库进行交互,执行各种数据库操作。这使得Java应用程序能够与数据库进行无缝集成,实现数据的存储、检索和处理等功能。
二、Oracle通过JDBC连接Java
1、导入jar包
1.1 下载jar包
下载地址:https://www.oracle.com/cn/database/technologies/appdev/jdbc-downloads.html
根据自己的java环境下载相应的jar包,示例如下:
程序运行可能会出现以下问题:java.sql.SQLException: ORA-17056: 不支持的字符集(在类路径中添加 orai18n.jar): ZHS16GBK
因此还需添加以下jar包:
下载地址https://mavenlibs.com/jar/file/com.oracle.database.nls/orai18n
1.2 将jar包导入到java项目中
直接将所下载的ojdbc.jar复制到java项目的lib目录下,如下图示例:
1.3编译jar包
如下图示例:
2、连接数据库
2.1 编写jdbc工具类
此类是为更方便操作数据库连接
package oracleConnection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 操作数据库的工具类
*
* @author en
*
*/
public class jdbcUtils {
// 获取数据库连接
public static Connection getConnection() throws Exception {
// JDBC连接参数
// 数据库连接字符串,格式为 jdbc:oracle:thin:@host:port:SID
String jdbcUrl = "jdbc:oracle:thin:@192.168.66.120:1521:ORCL";
// 数据库用户名
String username = "test";
// 数据库密码
String password = "test";
// oracle数据库驱动
String diverClass = "oracle.jdbc.OracleDriver";
// 2、加载驱动
Class.forName(diverClass);
// 3、获取连接
Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
return conn;
}
// 关闭连接和Statement的操作
public static void closeResource(Connection conn, PreparedStatement ps) {
try {
if (ps != null) {
ps.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 关闭资源的操作
public static void closeResource(Connection conn, PreparedStatement ps, ResultSet rs) {
try {
if (ps != null) {
ps.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2.2 对数据进行基本操作
下面是一个简单的示例,演示了如何使用JDBC连接Oracle数据库进行相关的增删改操作:
package oracleConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* JDBC连接Oracle数据库进行增删改查操作
*
* @author wjw
*
*/
public class controlData {
public static void main(String[] args) {
select();
}
// 查询表中数据
public static void select() {
Connection conn = null;
ResultSet rs = null;
PreparedStatement ps = null;
try {
// 连接数据库
conn = jdbcUtils.getConnection();
ps = conn.prepareStatement("select * from t");
rs = ps.executeQuery();
// 处理查询结果
while (rs.next()) {
// 从结果集中获取数据,例如:
int id = rs.getInt("ID");
String name = rs.getString("NAME");
// 在这里处理数据
System.out.println("ID: " + id + ", Name: " + name);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
jdbcUtils.closeResource(conn, ps, rs);
}
}
}
运行结果如下: