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:SIDString 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 blocke.printStackTrace();}try {if (conn != null) {conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}// 关闭资源的操作public static void closeResource(Connection conn, PreparedStatement ps, ResultSet rs) {try {if (ps != null) {ps.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if (conn != null) {conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if (rs != null) {rs.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.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);}}
}
运行结果如下: