以下是Java通过JDBC连接Oracle数据库的完整攻略,包括代码示例和详细步骤:
一、准备工作
1. 下载Oracle JDBC驱动
首先,我们需要下载Oracle官方的JDBC驱动。我们可以在Oracle官网上下载,或者通过与Oracle数据库的连接成功时给出的链接下载安装。在这里我们以"ojdbc8.jar"为例。
2. 配置Java环境变量
将"ojdbc8.jar"文件放到我们的项目中,并将其成功添加到Java CLASSPATH环境变量中。
3. 确认Oracle数据库的连接信息
在正式连接Oracle数据库之前,我们要先确认好以下信息:
- Oracle数据库所在的服务器地址;
- Oracle数据库实例名;
- 数据库的登录名和密码。
可以通过Oracle客户端的方式或者管理员提供的信息获取。
二、创建连接
在确认好了数据库信息后,我们就可以通过Java的JDBC API连接到Oracle数据库,并且进行各种操作。
1. 加载驱动
在创建连接之前,我们要先加载驱动程序。在Java中,可以通过Class.forName()方法来加载我们定义的驱动类。加载驱动程序的方式一般为:
Class.forName("oracle.jdbc.driver.OracleDriver");
2. 创建连接
加载好了驱动程序后,我们就可以通过DriverManager.getConnection()方法来创建连接,并获得一个连接对象:
String url = "jdbc:oracle:thin:@192.168.0.100:1521:orcl";
Connection conn = DriverManager.getConnection(url, "scott", "tiger");
其中,url中的用户名、密码、主机地址,以及Oracle实例的名字需要自行修改。
如果连接成功,连接对象就已经被创建。
3. 关闭连接
当操作完成之后,我们应该及时关闭连接,释放相关资源。关闭连接一般方式为:
conn.close();
三、实现SQL操作
上述创建连接中的源程序是直接通过连接字符串进行连接的。但实际情况中,更多的可能是通过Properties对象和DriverManager.getConnection()方法进行连接。以下是一个完整的通过DriverManager.getConnection()方法与Properties对象连接Oracle数据库的代码实例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class OracleJDBC {
public static void main(String[] argv) {
try {
Connection conn = null;
Properties connectionProps = new Properties();
connectionProps.put("user", "scott");
connectionProps.put("password", "tiger");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.0.100:1521:orcl",
connectionProps);
System.out.println("Connected to database.");
conn.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
以上代码示例通过Properties对象中包含的参数来进行连接,其中的静态代码块中也就实现了连接,将连接放到try-catch块中处理,出现错误就会被catch捕获。
除此之外,我们可以通过JDBC API来执行SQL语句,比如:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class OracleJDBC {
public static void main(String[] argv) {
try {
Connection conn = null;
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.0.100:1521:orcl",
"scott",
"tiger");
PreparedStatement st = conn.prepareStatement(
"SELECT * FROM T_STUDENT WHERE PK_ID = ?");
st.setInt(1, 123456);
ResultSet rs = st.executeQuery();
while(rs.next()) {
System.out.print("id: " + rs.getInt("PK_ID") + ", ");
System.out.print("name: " + rs.getString("C_NAME"));
System.out.println();
}
conn.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
以上代码示例实现了查询T_STUDENT表中的一条记录,并输出其id和name字段的值。
当然,SQL操作还包括插入、更新和删除操作等,对应的操作也可以通过PreparedStatement和Statement两种形式进行操作。需要根据具体情况来进行选择和使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java如果通过jdbc操作连接oracle数据库 - Python技术站