JDBC连接Oracle数据库

本案例使用的JDBC驱动类型是:本地协议驱动
JDBC 连接Oracle数据库需要的数据:


驱动程序包名:ojdbc14.jar (在自己的项目中创建一个libs文件夹存放该包,并进行配置:右键包点击Build Path 接着点击Add toBuild Path就可以完成配置)
驱动类的名字:oracle.jdbc.driver.OracleDriver
JDBC URL:jdbc:oracle:thin:@dbip:port:databasename

JDBC URL中各个部分含义如下:
dbip –为数据库服务器的IP地址,如果是本地可写:localhost或127.0.0.1。
port –为数据库的监听端口,需要看安装时的配置,缺省为1521。
databasename –为数据库的SID,通常为全局数据库的名字。

注:驱动程序包名有可能会变


连接步骤:
1.加载驱动
2.建立连接
3.执行SQL语句

4.关闭连接

示例代码:

package com.hcq.main;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//加载驱动方式一要导入的java包
//import oracle.jdbc.OracleDriver;

public class Main3 {
	/** JDBC连接数据库案例 */
	/** 数据库的属性信息 */
	// 数据库的主机 IP地址
	private static String IP = "127.0.0.1";
	// 数据库端口号
	private static String PORT = "1521";
	// 数据库名
	private static String DB_NAME = "test";
	// 数据库 URL
	private static String URL = "jdbc:oracle:thin:@" + IP + ":" + PORT + ":" + DB_NAME;
	// 数据库连接用户名
	private static String USER = "scott";
	// 用户密码
	private static String PSW = "tiger";

	public static void main(String[] args) {
		Connection conn = null;
		Statement st = null;

		try {
			/** 第一步:加载驱动 ;加载驱动有三种方式 */
			// 方式一
			// DriverManager.registerDriver(new OracleDriver());
			// 方式二
			Class.forName("oracle.jdbc.OracleDriver");// 新版本写法,9i之后新版本推荐
			// Class.forName("oracle.jdbc.driver.OracleDriver");// 兼容9i之前的版本。
			// 方式三:自动加载

			/** 第二步:建立连接 */
			// 获取连接
			conn = DriverManager.getConnection(URL, USER, PSW);

			/** 第三步:连接成功后,获取Statement对象, 得到一个可以执行sql语句的声明 */
			st = conn.createStatement();
			// 编写sql语句(本案例使用的数据表为Oracle自带的数据表)
			String sql = "SELECT empno,ename,job,sal,deptno FROM emp  WHERE deptno = 30";
			// 执行sql语句,返回一个结果集
			ResultSet rs = st.executeQuery(sql);
			// rs.next() 判断是否有下一行数据,并且将游标移至下一行,返回类型为boolean类型
			while (rs.next()) {
				// 得到每一列的信息可以使用列名或者列的编号查询
				int empno = rs.getInt(1);// 效率比较高
				// int empno=rs.getInt("empno");

				String ename = rs.getString(2);
				String job = rs.getString(3);
				double sal = rs.getDouble(4);
				int deptno = rs.getInt(5);
				System.out.println("编号:" + empno + "\t姓名:" + ename + "\t职位:" + job + "\t薪水:" + sal + "\t部门:" + deptno);
			}
			rs.close();// 释放结果集资源

		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if (st != null) {
				try {
					/** 第四步:sql语句执行完应该释放 Statement 资源 */
					st.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}

			if (conn != null) {
				try {
					/** 第五步:释放连接资源 */
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}

}

结果:


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值