在测试中,我们常常需要连接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. 【优化技巧】指数移动平均EMA的原理

    前言 在深度学习中,经常会使用EMA(exponential moving average)方法对模型的参数做平滑或者平均,以求提高测试指标,增加模型鲁棒性. 参考 1. [优化技巧]指数移动平均(E ...

  2. LeetCode Top Interview Questions

    LeetCode Top Interview Questions https://leetcode.com/problemset/top-interview-questions/ # No. Titl ...

  3. Java设置文件权限

    今天遇到一个问题: java写的API,ppt转图片生成的目录及文件 在使用php调用API完成后,再使用php进行删除时,遇到了删除失败的问题(php删除的部分  查看) 部署的环境是Ubuntu ...

  4. Consul服务告警之Watch机制

    熔断保护在Consul和Ocelot中都有实现,意思就是当一个服务不正常时(比如我们的一个服务实例挂了,Consul的健康检查机制检测到了),应该给系统维护人员给以告警.在Consul中,服务告警也是 ...

  5. 【视频开发】四大图像库:OpenCV/FreeImage/CImg/CxImage

    1.对OpenCV 的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法: 然后将图像格式和矩阵运算, ...

  6. python实践项目七:正则表达式版本的strip()函数

    描述:写一个函数,它接受一个字符串,做的事情和 strip()字符串方法一样.如果只传入了要去除的字符串, 没有其他参数, 那么就从该字符串首尾去除空白字符:否则, 函数第二个参数指定的字符将从该字符 ...

  7. Robot Framework 读取控制面板安装的程序,判断某个程序是否已经安装

    wmic /output:D:\\DOAutomationTest\\automation_do_robotframework\\installList.txt product get name

  8. 解决sublime text3运行PyQt5代码不能显示窗口的问题

    如题,在sublime中写了GUI代码,Ctrl+B能运行,但是就是不能显示窗口. 解决办法:  找到路径C:\Users\superlee\AppData\Roaming\Sublime Text ...

  9. Redis学习笔记(一)— 基本命令和数据类型

    MacOs环境 Redis基本命令 启动服务:redis-server 连接服务:redis-cli -h 指定主机/IP -p 指定端口 -a 指定密码 关闭服务:先shutdown 保存数据并关闭 ...

  10. 通过Visual Studio快速生成Json或XML反序列化类代码

    Visual Studio不愧是宇宙第一强的IDE工具,在Json.XML格式漫天飞.反序列化需求遍地走的现在,居然到最近才知道原来微软已经在Visual Studio集成了这么一样的良心功能,自动根 ...