Java项目中使用Oracle数据库(Eclipse)


前言

这学期选了Oracle数据库这门课,于是自己下载了Oracle11gR2版本的数据库。在这之前我一直用的是MySQL。虽然两者教程差不多,但我还是想留个总结。

参考资料


操作步骤

  1. 新建一个Java项目;

  2. 新建一个文件夹;

  3. 找到"ojdbc6.jar"文件并复制,该文件路径:“D:\Oracle11gDatabase\BaseDir\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6_g.jar”,其中"D:\Oracle11gDatabase"是我的安装Oracle的位置,依自己情况去找。备注:不是官网下载的那个,是安装的路径。

    注:ojdbc5.jar是支持jdk1.5的,ojdbc6.jar是支持jdk1.6的。我的jdk是1.8版本的。看了那个官网jdbc的文档,我只发现了这个(英语有点渣,可能我看掉了)。但是能够连接数据库,这个以后再看吧。

  4. 将刚才的文件粘贴到新建的文件夹下;

  5. 添加路径,右键点击文件;

  6. 生成一个文件和jar文件



以上属于导入包部分,完成上述操作即可写项目。
下面两个步骤是验证是否成功。



  1. 在src下新建一个类,运行下面这段代码;
注意:	1、类名一样,,,基础问题
2、第10行的"HR"换成"scott"
3、"hr"换成你自己的scott用户的密码,默认密码是"tiger"
4、"<host>"换成"localhost"
5、"<port>"换成"1521",不知道其他的行不行
6、"<service>"换成"orcl",这个是安装的时候设置的,依情况而定。
import java.sql.*;
import oracle.jdbc.*;
import oracle.jdbc.pool.OracleDataSource; class JDBCVersion
{
public static void main (String args[]) throws SQLException
{
OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:HR/hr@<host>:<port>:<service>");
Connection conn = ods.getConnection(); // Create Oracle DatabaseMetaData object
DatabaseMetaData meta = conn.getMetaData(); // gets driver info:
System.out.println("JDBC driver version is " + meta.getDriverVersion());
}
}

运行之后控制台输出版本号信息

去dos窗口进入数据库,会发现版本号一致

8、运行下面代码

注意:	1、第一行写上你的包名,不然无法编译
2、代码下面有截图
/*
* This sample can be used to check the JDBC installation.
* Just run it and provide the connect information. It will select
* "Hello World" from the database.
*/ // You need to import the java.sql and JDBC packages to use JDBC
import java.sql.*;
import oracle.jdbc.*;
import oracle.jdbc.pool.OracleDataSource; // We import java.io to be able to read from the command line
import java.io.*; class JdbcCheckup
{
public static void main(String args[]) throws SQLException, IOException
{ // Prompt the user for connect information
System.out.println("Please enter information to test connection to
the database");
String user;
String password;
String database; user = readEntry("user: ");
int slash_index = user.indexOf('/');
if (slash_index != -1)
{
password = user.substring(slash_index + 1);
user = user.substring(0, slash_index);
}
else
password = readEntry("password: ");
database = readEntry("database(a TNSNAME entry): "); System.out.print("Connecting to the database...");
System.out.flush();
System.out.println("Connecting...");
// Open an OracleDataSource and get a connection
OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:oci:@" + database);
ods.setUser(user);
ods.setPassword(password);
Connection conn = ods.getConnection();
System.out.println("connected."); // Create a statement
Statement stmt = conn.createStatement(); // Do the SQL "Hello World" thing
ResultSet rset = stmt.executeQuery("select 'Hello World' from dual"); while (rset.next())
System.out.println(rset.getString(1));
// close the result set, the statement and the connection
rset.close();
stmt.close();
conn.close();
System.out.println("Your JDBC installation is correct.");
} // Utility function to read a line from standard input
static String readEntry(String prompt)
{
try
{
StringBuffer buffer = new StringBuffer();
System.out.print(prompt);
System.out.flush();
int c = System.in.read();
while (c != '\n' && c != -1)
{
buffer.append((char)c);
c = System.in.read();
}
return buffer.toString().trim();
}
catch(IOException e)
{
return "";
}
}
}

输入用户名,密码,数据库名称

出现截图最后三行说明已成功从数据库读取数据,即连接成功。

如果有安装问题欢迎留言讨论。

小提醒:官网下载数据库非常慢,建议从网盘下载。(ps:注册账号很简单)

另外附一个Oracle数据库安装教程:腾讯视频Win7版的教程,我的是Win10,也是这么安装的,暂时没发现问题。


THE END


JDBC(Java项目使用Oracle数据库)的更多相关文章

  1. Java 测试连接Oracle数据库是否成功,ojdbc7.jar包下载

    需要用到的jar 包: 链接:https://pan.baidu.com/s/1I1pC2f81IvbphZ6tWpVFOg 密码:uq0u 测试结果: package pkg; import jav ...

  2. FineReport - 项目连接Oracle数据库

    FineReport项目连接Oracle数据库 1:打开模板设计器,单击[服务器],选择[定义数据连接]: 2:单击[+],选择[JDBC]; 3:数据库选择[Oracle],驱动器选择[oracle ...

  3. Java项目专栏之数据库建表

    Java项目专栏之数据库建表 数据库建表前期准备 1. 安装mysql:数据库语言,语法和sql server差不太多,如果习惯于sql server可以不用mysql. 2. 安装navicat:可 ...

  4. jdbc连接rac的oracle数据库

    jdbc连接rac的oracle数据库需要配置所有racIP,如下: DB1 =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(H ...

  5. JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...

  6. 【Java EE 学习 29 下】【JDBC编程中操作Oracle数据库】【调用存储过程的方法】

    疑问:怎样判断存储过程执行之后返回值是否为空. 一.连接oracle数据库 1.需要的jar包:在安装的oracle中就有,所以不需要到官网下载,我的oracle11g下:D:\app\kdyzm\p ...

  7. JAVA项目将 Oracle 转 MySQL 数据库转换(Hibernate 持久层)

    项目开发时用的是Oracle数据库,但为了更好的做分布式,做集群,我们要将数据库转成 MySQL! 在数据库迁移中首先要做的事是将 Oracle 的表结构以及数据 克隆到 MySQL 数据库. 这点不 ...

  8. 实例: Java代码操作oracle数据库(JDBC+sevrlet+jsp+html)

    1, 注册页面 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.or ...

  9. MyEclipse用Java语言连接Oracle数据库

    在MyEclipse下Java连接Oracle数据库 第一步:新建Java项目. 填写项目名,其它设置默认,点击完成即可. 新建java类,填写包名和类名,勾选public static void m ...

随机推荐

  1. python学习:模块(第一节)

    1.什么是模块? 如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了.为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这 ...

  2. 图灵学院java架构课程

    1.wps文档地址 https://docs.qq.com/doc/DRVNLUndvTmFSdEhO 2.百度网盘地址 https://pan.baidu.com/s/1uxaTzJZHKrsw_H ...

  3. (转)服务端监控工具:nmon的使用

    在性能测试过程中,对服务端的各项资源使用情况进行监控是很重要的一环.这篇博客,介绍下服务端监控工具:nmon的使用方法.. 一.认识nmon 1.简介 nmon是一种在AIX与各种Linux操作系统上 ...

  4. 面试题集锦---BY算法导论小组

    3.7题 3.21题 1.给定能随机生成整数 1 到 5 的函数,写出能随机生成整数 1 到 7 的函数. 提示:两个random就可以有25种可能,每种可能都是等概率的 2.判断一个自然数是否是某个 ...

  5. go中json的tag使用

    指定json中的key名字: 指定数据类型, string number, boolean 忽略空值(值不为空, 不忽略) 忽略字段 "-" (无论有没有值, 都忽略) type ...

  6. 寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现。本文记录HAProxy服务热加载后某微服务50%概率失效的问题。设计3组对比实验,验证了陈旧配置的HAProxy在Reload时没有退出进而导致微服务丢失,并给出了解决方案. Keywords:HAProxy热加

    寻找丢失的微服务-HAProxy热加载问题的发现与分析 原创: 单既喜 一点大数据技术团队 4月8日 在一点资讯的容器计算平台中,我们通过HAProxy进行Marathon服务发现.本文记录HAPro ...

  7. 关于define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));的理解

    关于define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));的理解 define('DISCUZ_ROOT',  substr(dirname( ...

  8. React之概述(待续)

    原文链接 MDN上有关JavaScript的内容 箭头函数, 类, 模板字符串, let, const Babel REPL

  9. Linux -- 在多线程程序中避免False Sharing

    1.什么是false sharing 在对称多处理器(SMP)系统中,每个处理器均有属于自己的本地高速缓存区. 如图,CPU0和CPU1有各自的本地高速缓存区(cache).线程0和线程1会用到不同的 ...

  10. Elasticsearch(ELK)集群搭建

    一.前言 Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储.检索数据:本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据.Elasticsearch也使用 ...