Eclipse如何连接Oracle数据库

打开Oracle数据库(先打开监听程序)

在Eclipse中连接数据库:

1、创建项目并构建路径

第一步创建一个Java项目

在项目里创建一个普通的文件夹,命名为lib

找到与Oracle连接相关的jar包,可以在Oracle的安装文件里寻找,找到安装位置,打开app文件夹,根据下面的路径寻找

 

或者在网上下载,下载地址为:https://pan.baidu.com/s/1BdEXpPVmo-kn9won7K8H9A 密码为:i8g4

第二步将Oracle连接相关的jar包复制到lib文件夹里

 

然后进行如下操作来构建路径:

选中jar包,右键单击,选择Build Path中的Add to Build Path;

 

成功后如下图所示:

在src文件夹中创建util包,新建一个新的类,命名为DBUtil

2、基本判断是否能加载数据库驱动

在DBUtil类中创建一个静态代码块(提高效率)

获取驱动:oracle.jdbc.driver.OracleDriver

代码如下:


创建一个MainTest类,测试是否加载驱动成功

DBUtil db = new DBUtil();

运行,看是否成功

3、判断是否连接数据库成功

先定义四个属性URL,USERNAME,PWD,DRIVER

DRIVER是驱动的jar包的路径,

URL是连接到远程数据库的标识符

USERNAME是连接到的数据库用户的名字,这里用的是oralce自带的scott用户

PWD是scott用户的密码(就是登陆数据库时候的密码)

URL中的@之后的localhost因为连接的是本级所以用的这个,可以直接写ip地址,1521 是ORACLE的端口号,orcl是数据库的名字(登录界面选的).

    public final static String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	public final static String DRIVER="oracle.jdbc.driver.OracleDriver";
	public final static String USERNAME="scott";
	public final static String PWD="tiger";

 

再创建getConnection()方法

public Connection getConnection() throws SQLException{
		Connection conn = null;
		conn = DriverManager.getConnection(URL,USERNAME,PWD);
		return conn;
	}

然后在main方法中测试是否连接成功 

4、进行某些数据库操作

DButil类:

package com.lhz.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBUtil {
	// URL
	public final static String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	//前提启动oracle
	public final static String USERNAME="scott";//用户名
	public final static String PWD="tiger";//密码
	public final static String DRIVER="oracle.jdbc.driver.OracleDriver";
	//java程序中如何获取DRIVER
	//静态块
	static{
		try {//使用Class.forName可以达到加载特定驱动程序的目的,每种数据库管理系统(DBMS)
			//的驱动都不同,有数据库厂商提供
			Class.forName(DRIVER);
			//目前我们连接的是Oracle所以在此我们要写好OracleDriver
			//java.lang.ClassNotFoundException
			System.out.println("获取驱动成功!");
		} catch (ClassNotFoundException e) {
			System.out.println("没有获取到驱动!");
			e.printStackTrace();
		}		
	}
	//java将会利用获取到的驱动来连接数据库  java.sql 
	public Connection getConnection() throws SQLException{
		Connection conn=null;
		//先获得数据库的驱动
		conn=DriverManager.getConnection(URL, USERNAME, PWD);
		return conn;
	}
   //创建释放所有资源的方法
	public void closeAll(ResultSet rst,Statement stmt,Connection conn){
		if(rst!=null){
			try {
				rst.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
		if(stmt!=null){
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if(conn!=null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
	}
	

}

MainTest类用来测试

package com.lhz.util;

import java.sql.*;
import java.text.SimpleDateFormat;

public class MainTest {

	public static void main(String[] args) {
		Connection conn=null;//数据库连接时使用
		Statement  stmt=null;//数据库连接成功后,对数据进行操作时的对象
		ResultSet  rst=null;//查询数据时会返回结果集
		DBUtil db=new DBUtil();//实例化一个对象
		try {
			conn=db.getConnection();//连接数据库
			System.out.println("连接数据库成功!");
			//试一试,查询emp中的数据
			String sql="select * from emp";
			//操作数据 -- 查询
		    stmt=conn.createStatement();//创建数据操作对象
		    rst=stmt.executeQuery(sql);//stmt执行查询语句,并把返回的结果放到了rst中
		    //遍历结果集、
		    while(rst.next()){
		    	int empno=rst.getInt(1);
		    	//String ename=rst.getString(2);// int|number|numeric--->int  varchar2() --->String
		    	String ename=rst.getString("ename");
		    	Date date=rst.getDate("hiredate");
		    	Time time=rst.getTime(5);
		    	SimpleDateFormat f=new SimpleDateFormat("yyyy年MM月dd日");
		    	String newDate=f.format(date);
		    	System.out.println(empno+"  :  "+ename+"--->"+date+"  "+time+"变为:"+newDate);
		    }
		} catch (SQLException e) {
			System.out.println("连接数据库不成功");
			e.printStackTrace();
		}finally{
			//释放所有资源
			db.closeAll(rst, stmt, conn);
		}
	}

}

 

  • 30
    点赞
  • 135
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值