使用jdbc连接ORACLE数据库进行查询的一个例子

      五一放假了,闲来无事学习了解了一下JDBC,制作了一个简单的例子。

1.首先准备数据:

首先打开oracle 创建一张表EC_ORG_ROLE,表的字段截图如下


创建的语句为:

CREATE TABLE "EC_ORG_ROLE" 
   (	"ID" NUMBER, 
	"PARENTROLEID" NUMBER, 
	"NAME" VARCHAR2(100 BYTE), 
	"DESCRIPTION" VARCHAR2(200 BYTE), 
	"TYPE" VARCHAR2(100 BYTE), 
	"WEIGHT" VARCHAR2(100 BYTE), 
	"STATE" NUMBER
   )
然后在表中插入自己的数据

数据准备完毕!!

2.开始创建一个java工程:

怎么创建我就不详说了,直接上工程目录截图:



注意 conf文件夹创建的是源文件夹即Source Folder,图形因为有mysql和oracle两种数据库的情况,大家只关注oracle的就可以了

然后查看oracle_conn.properties中的内容:

 
 
driverName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:ORACLE
username=eapsdb
password=eapsdb

我们的工具类OracleUtil类的代码如下:

package com.nantian.oracle.util;


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class OracleUtil {
	private static Properties property;
	static{
		String url=OracleUtil.class.getClassLoader().getResource("oracle_conn.properties").getPath();
		try {
			property=new Properties();
			property.load(new FileInputStream(url));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static Connection getConnection(){
		Connection connection=null;
		try {
			Class.forName(property.getProperty("driverName"));
			String url=property.getProperty("url");
			String username=property.getProperty("username");
			String password=property.getProperty("password");
			connection=DriverManager.getConnection(url, username, password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return connection;
	}
	public static void release(Connection con, Statement statement,ResultSet rs){
		if(null!=rs){
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				rs=null;
			}
			if(null!=statement){
				try {
					statement.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}finally{
					statement=null;
				}
			}
			if(null!=con){
				try {
					con.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}finally{
					con=null;
				}
			}
		}
	}
}

然后编写完成之后编写我们的juint测试类:

package com.nantian.test;

import static org.hamcrest.CoreMatchers.instanceOf;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;

import com.nantian.mysql.util.MySqlUtil;
import com.nantian.oracle.util.OracleUtil;

public class UtilTest {
	
	@Test
	public void myOracleUtilTest(){
		Connection connection=OracleUtil.getConnection();
		Statement stm=null;
		ResultSet rs=null;
		try {
			stm= connection.createStatement();
			String sql="select * from ec_org_role";
			rs=stm.executeQuery(sql);
			while(rs.next()){
				int id=rs.getInt(1);
				int parentRoleid=rs.getInt(2);
				String name=rs.getString(3);
				String description=rs.getString(4);
				String type=rs.getString(5);
				String weight=rs.getString(6);
				int status=rs.getInt(7);
				System.out.println("Row="+id +"-"+parentRoleid+"-"+name);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			OracleUtil.release(connection, stm, rs);
		}
		
	}
}

然后右键执行run as juintTest就可以看到结果了

Row=11697-11691-业务经办人员
Row=11698-11691-业务部门处长

至此使用jdbc连接数据库进行查询就已经完成了。



猜你喜欢

转载自blog.csdn.net/xiongmaodeguju/article/details/70946064