在测试中,我们常常需要连接Oracle数据库来进行查询对比。下面,我们就来看看,如何使用java代码来连接数据库,并且取出我们想要的数值。

  首先,java中如果要连接Oracle数据库,需要jdbc的jar包。下载地址:https://mvnrepository.com/artifact/ojdbc/ojdbc

  根据使用Oracle的方式,连接所使用的的Url为以下两种:

  Oracle URL:
  jdbc:oracle:thin:@HostName(or IP address):1521:SID
  jdbc:oracle:thin:@//HostName(or IP address):1521:SERVICENAME
  
  这里的参数thin表示小型驱动,HostName(or IP address):1521这个是指代Oracle数据库的具体网络位置。SID/ServiceName这个是指具体链接的数据库SID或者数据库的服务。
  在真正连接数据库之前,我们需要先注册一个驱动。
  

 try {
  Class.forName("oracle.jdbc.driver.OracleDriver");
}catch (ClassNotFoundException e) {
System.out.println("找不到驱动程序类,驱动加载失败!");

  这种方式是使用类加载的方式来注册驱动。

  当然,我们还可以使用新建OracleDriver对象的方式来注册驱动。

Driver driver = new OracleDriver();
DriverManager.deregisterDriver(driver);

  两种方式均可以,可以根据实际情况进行选择。

  接下来,我们就要获取Oracle数据库的链接。

connect = DriverManager.getConnection("jdbc:oracle:thin:@OracleDataBaseHost:1521:XE", "连接oracle数据库用户名", "用户名密码");

  如果使用的是driver对象注册的。可以使用下面的代码

Properties properties = new Properties();
properties.put("user", "oracle数据库用户名");
properties.put("password", "用户名密码");
connect = driver.connect("jdbc:oracle:thin:@localhost:1521:XE", properties);

  有了链接之后,我们就可以使用这个链接,来获取执行sql语句的对象。

statement = connect.createStatement();

  如果是driver对象的方式

PreparedStatement preState = connect.prepareStatement("select  * from tb1 where name = ?");

  再接下来,就是具体的执行sql的语句

resultSet = statement.executeQuery("select * from tb1");

  如果是PrepareStatement的对象,也是一样的。

ResultSet rs = preState.executeQuery();

  然后,根据得到的ReslutSet来对结果进行处理。

while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String wbsCode = rs.getString("wbscode");
System.out.println(id+" "+name+" "+ wbsCode); //打印输出结果集
}

  最后,逐一关闭链接的资源。不关闭的话会影响性能、并且占用资源。注意关闭的顺序,最后使用的最先关闭 !

try {
if (rs!=null) rs.close();
if (statement!=null) statement.close();
if (connect!=null) connect.close();
} catch (SQLException e) {
e.printStackTrace();
}

  这样,整体就完成了从Oracle数据库连接并读取数据的操作。

  
  

java连接Oracle数据库的操作说明的更多相关文章

  1. oracle入门(5)——java连接oracle数据库

    [本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安 ...

  2. Java连接Oracle数据库的三种连接方式

    背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...

  3. java连接Oracle数据库

    Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...

  4. java连接oracle数据库的实现代码

    package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; impo ...

  5. java连接Oracle数据库实现增删改查并在Navicat中显示

    创建TEST表 eclipse中的java项目 代码 数据库方法类 DBUtil: package util; import java.sql.Connection; import java.sql. ...

  6. Java连接Oracle数据库常用方法

    JDBC的六大步骤: 注册驱动 获取连接 获取执行sql语句对象 执行sql语句 处理结果集 关闭资源 oracle URL: jdbc:oracle:thin:@localhost:1521:SID ...

  7. 一个非常标准的Java连接Oracle数据库的示例代码

    最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...

  8. Java连接Oracle数据库的示例代码

    最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径 ->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择 “D:\Oracle\ap ...

  9. Java连接oracle数据库的OCI和THIN

    使用jdbc连接上oracle有两种方法: 1. 使用thin连接 由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与 ...

随机推荐

  1. kubernetes之Controller Manager原理分析

    Controller Manager作为集群内部的管理控制中心,负责集群内的Node.Pod副本.服务端点(Endpoint).命名空间(Namespace).服务账号(ServiceAccount) ...

  2. [LeetCode] 3.Longest Substring Without Repeating Characters 最长无重复子串

    Given a string, find the length of the longest substring without repeating characters. Example 1: In ...

  3. LeetCode:缺失的第一个正数【41】

    LeetCode:缺失的第一个正数[41] 题目描述 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3示例 2: 输入: [3,4,-1,1] ...

  4. C1128节数超过对象文件格式限制: 请使用 /bigobj 进行编译

    今天debug C++项目是遇到 解决方案: 右键项目—>属性 输入 /bigobj 再次编译问题解决

  5. mongoDB主从和集群

    主从(windows下的配置) 主服务器设置 mongod --dbpath=F:\mongoDB\db --master \\dbpath是设定数据存放路径 --master是指定为主库 从服务器设 ...

  6. 【Linux】多线程同步的四种方式

    背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include <iostream> #include<pthread.h> ...

  7. [转]综述论文翻译:A Review on Deep Learning Techniques Applied to Semantic Segmentation

    近期主要在学习语义分割相关方法,计划将arXiv上的这篇综述好好翻译下,目前已完成了一部分,但仅仅是尊重原文的直译,后续将继续完成剩余的部分,并对文中提及的多个方法给出自己的理解. _论文地址:htt ...

  8. C++Primer 5th Chap2 Variables and basic Types

    wchar_t,char16_t,char32_t用于拓展字符集 char和signed char并不一样,由编译器决定类型char表现上述两种中的哪一种 一般long的大小和int无二,如果超过in ...

  9. laravel使用辅助函数url()引入js和css静态文件

    使用laravel框架时可以将静态文件如,js文件,css文件,放到resources文件夹下的js下,当然也可以放到public文件夹下的js文件夹下,publi文件夹下默认情况下是没有css,js ...

  10. Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件,封装函数

    总结了一下使用Python对xml文件的解析,用到的模块儿如下: 分别从xml字符串和xml文件转换为xml对象,然后解析xml内容,查询指定信息字段. from xml.dom.minidom im ...