首先导入oracle驱动包。驱动包一般在你安装的oracle里跟network同级的jdbc文件夹下的lib文件夹里面。复制过来就行。

        

1.导包

首先我们导入java.sql.* 

import java.sql.*;

 2.驱动注册

		Class.forName("oracle.jdbc.driver.OracleDriver");

        通过Class.forName(driver_name); 会执行driver_name路径下的类的static静态块一次。

3.驱动管理器根据注册驱动获取对应的连接。Java和oracle连接,获取连接对象


        String url="jdbc:oracle:thin:@localhost:1521:orcl";
		String uname ="scott";
		String pwd = "scott";
		Connection con = DriverManager.getConnection(url,uname,pwd);

其中url 字符串为:    jdbc:oracle:thin:@数据库服务器IP:数据库端口号:数据库实例名

数据库服务器IP本机的话可以写localhost 

数据库实例名就类似于你登录PL/SQL时的Database 。

另外uname,pwd也是对应于PL/SQL登录界面的Username和Password

 这个时候Java和数据库就连接成功了。

以下是完整代码:

import java.sql.*;
public class jdbctest {	
		
	public static void main(String[]args) throws Exception {
		Class.forName("oracle.jdbc.driver.OracleDriver");
		String url="jdbc:oracle:thin:@localhost:1521:orcl";
		String uname ="scott";
		String pwd = "scott";
		Connection con = DriverManager.getConnection(url,uname,pwd);
		System.out.println(con.getClass().getName());
		
	}
}

他会输出:oracle.jdbc.driver.T4CConnection

       

下面示范一个简单的查询操作。

        我们输出select ename,sal from emp 的结果;

4.通过连接对象获取语句对象。此处为了简单,会出现SQL注入问题,后续会通过Statement的子类PreparedStatement解决.

Statement stmt = con.createStatement();

5.通过语句对象获取结果集对象。并将sql语句传入。查询会把查询出来的数据放在ResultSet结果集对象中。

String sql = "select ename,sal from emp";

ResultSet rs = stmt.executeQuery(sql);

6.遍历结果集并输出值。


while(rs.next()) {
			System.out.println("姓名:"+rs.getObject("ename")+","+"薪资:"+rs.getObject("sal"));
		
}

 7.最后我们要关闭连接对象,语句对象,结果集对象。

	    con.close();
		stmt.close();
		rs.close();

查询结果就输出到通知台上了。

以下是完整代码:

import java.sql.*;
public class jdbctest {	
		
	public static void main(String[]args) throws Exception {
		Class.forName("oracle.jdbc.driver.OracleDriver");
		String url="jdbc:oracle:thin:@localhost:1521:orcl";
		String uname ="scott";
		String pwd = "a";
		Connection con = DriverManager.getConnection(url,uname,pwd);
		System.out.println(con.getClass().getName());
		
		Statement stmt = con.createStatement();
		String sql = "select ename,sal from emp";
		ResultSet rs = stmt.executeQuery(sql);
		while(rs.next()) {
			System.out.println("姓名:"+rs.getObject("ename")+","+"薪资:"+rs.getObject("sal"));
		}
        con.close();
		stmt.close();
		rs.close();
		
	}
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐