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. MapReduce 基本优化相关参数

    MapReduce优化优化(1)资源相关参数:以下参数是在自己的 MapReduce 应用程序中配置就可以生效 mapreduce.map.memory.mb: 一个 Map Task 可使用的内存上 ...

  2. Kafka 最新版配置

    当前基于kafaka最新版 kafka_2.12-2.2.1.tgz 进行配置 . 官网地址:http://kafka.apache.org/intro kafka的一些基础知识 参考:http:// ...

  3. git 删除目录及子目录下的同名文件

    find . -name ".git" | xargs rm -Rf find . -name ".gitignore" | xargs rm -Rf

  4. MySQL数据库可以用任意ip连接访问的方法

    > use mysql; > update user set host='%' where host='localhost'; > flush privileges;

  5. [java]三种自定义链表排序方式

    代码: import java.util.ArrayList; import java.util.Comparator; import java.util.List; class Emp{ Strin ...

  6. GitHub上最著名的Android播放器开源项目大全

    GitHub上最著名的Android播放器开源项目大全                                                                          ...

  7. sql中union,union all没有兼顾到的内容

    今日遇到一个问题,两张表联合取交集去重,但是需要把某一字段相同的也给去掉 union all : 联合,没有取交集 union :联合取交集(仅针对所有字段相同的去重) 解决方案:将联合的数据作为一个 ...

  8. MySQL数据库之主从复制

    一)MySQL主从复制的原理 MySQL主从复制是一个异步的复制过程,数据从一个MySQL数据库(master)复制到另一个MySQL数据库(slave),master和slave之间实现主从复制,主 ...

  9. 123457123456#0#-----com.threeapp.MakerHanBao01----儿童汉堡制作游戏

    ----com.threeapp.MakerHanBao01----儿童汉堡制作游戏

  10. python之socket编程(二)

    标签(空格分隔): socket编程 SocketServer解析 SocketServer内部使用I/O多路复用,多线程,多进程来实现客户端多并发访问Socket服务端,while循环时使用I/O多 ...