java获取整个数据表中的数据(Oracle)

1.先是注册注册与加载连接数据库的驱动程序;

2.创建数据库连接;

3.对数据表进行操作。

代码如下:

OperateDB类

package webselenium.data;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class OperateDB{
	String url = "jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 168.168.168.168)(PORT = 1524)))(CONNECT_DATA =(SERVICE_NAME = fatoas)))";
	String userName = "si";
	String userPW = "p1234";
	String sql = null;
	Connection conn = null;
	Statement st = null;
	ResultSet rs = null;
	
	
	public Connection connectData(){
		//注册与加载连接数据库的驱动程序
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");	
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		//创建一个连接
		try {
			conn = DriverManager.getConnection(url, userName, userPW);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("数据库连接成功~!");
		return conn;
	}
	
	//获取数据结果集
	public void getDataResultSet(Connection conn,String sql){
		//获取数据表的列名
		ArrayList colName = new OperateDB().getTableColumnName(conn, sql);
		
		try {
			st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		try {
			rs = st.executeQuery(sql);
			while(rs.next()){
				for(int i=0;i<colName.size();i++){
					System.out.print(rs.getString((String)colName.get(i)) + " | ");
				}
				System.out.println();
			}
			
			rs.close();
			st.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	//获取数据表的列名
	public ArrayList getTableColumnName(Connection conn,String sql){
		ArrayList<String> colName = new ArrayList<>();
		
		try {
			st = conn.createStatement();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		try {
			rs = st.executeQuery(sql);
			ResultSetMetaData rsm = rs.getMetaData();
			for(int i=1;i<rsm.getColumnCount();i++){
				colName.add(rsm.getColumnLabel(i));
			}
			
			rs.close();
			st.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
			
		return colName;
	}
	
	//关闭数据库
	public void closeConection(Connection conn){
		if(conn != null){
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

 

Common类

package webselenium.common;

import java.sql.Connection;

import org.openqa.selenium.WebDriver;

import webselenium.data.*;

public class Common{
	static Connection conn = null;

	//连接数据库
	public static void connectData(){
		conn = new OperateDB().connectData();
	}
	
	//获取数据集
	public static void getResultSet(String sql){
		new OperateDB().getDataResultSet(conn,sql);
	}
	
/*	//获取数据表的列名
	public static void getTableColumnName(String sql){
		new OperateDB().getTableColumnName(conn, sql);
	}*/
	
	//关闭数据库
	public static void closeConn(){
		new OperateDB().closeConection(conn);
	}
}

TestStart类

package webselenium.testStart;

import webselenium.common.*;

public class TestStart {

	public static void main(String[] args) throws InterruptedException {

		Common.connectData();//连接数据库
		Common.getResultSet("select * from T_OAS_APPSHOW_CONFIG where 1=1");
		Common.closeConn();//关闭数据库
		
	}

}

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/bysu/blog/829146

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值