Java连接Oracle测试

Myeclipse下Java连接Oracle测试


简介:本篇文章主要介绍在编程工具Myeclipse下测试已经安装好的Oracle数据库是否能正常连接。

首先,新建一个Web项目,在Test包中新建一个ConnectionTest类,然后在该类下写代码测试MyEclipse能否正常连接上Oracle数据库。
在写连接的代码之前,我们要先了解一下Java连接Oracle数据库的机制和原理。好了,由于篇幅关系,请读者自行去百度谷歌一下。我们主要示例最常用的一种。代码如下:


package Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionTest {
	private static final String DRIVERCLASS = "oracle.jdbc.driver.OracleDriver";
	private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
	private static final String USERNAME = "【替换内容:数据库用户名】";
	private static final String PASSWORD = "【替换内容:用户密码】";
	private static Connection conn = null;

	public static void main(String[] args) {
		try {
			Class.forName(DRIVERCLASS);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		try {
			conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
			if (conn == null) {
				System.out.println("conn is null");
			} else {
				System.out.println("conn --> " + conn);
				System.out.println(conn.hashCode());
			}

		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				conn.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}

运行结果:conn对象的信息及其哈希值。



相信大家看过代码都会不知所以然,更别说从何入手了。所以我们现在要来解决这些疑惑:
大体思路如下:声明连接所需的DRIVERCLASS 、URL、数据库用户名、密码常量和Connection对象,然后注册根据DRIVERCLASS路径寻找得到的驱动,用DriverManager的getConnection获得的链接赋予conn对象,最后用conn对象操作数据库。


以下是一些深化理解的内容:

(1) DRIVERCLASS
oracle.jdbc.driver.OracleDriver 是一个类的名字 。Class.forName()方法是通过字符串来查找类,返回的是一个Class类的对象,这句的作用是让系统加载该类,系统加载同时会自动
调用该数据库驱动类的static块完成初始化工作(在这里是注册数据库驱动) 。


(2)URL
这个是一个典型的JDBC加载驱动的语句:

jdbc:oracle:thin:@192.168.3.98:1521:orcl

可看作:

[jdbc]:[oracle]:[thin]:[@localhost:1521:orcl]


①jdbc:表示采用jdbc式连接数据库
②oracle:表示连接oracle数据库
③thin:表示连接采用thin模式(oracle有两种模式)
④@表示地址,即@后面加主机名
⑤1521表示端口
⑥orcl数据库名


【常见错误】:java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

是因为没有导入数据库驱动,该驱动是一个jar包,位于Oracle安装目录\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\下。
然后右键项目导入驱动包,如下图所示:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章