標籤:
通過jdbc串連資料庫,攏共分三步:
第一步:下載一個JDBC的驅動,然後把jar包扔到項目裡並add to build path;
第二步:去本地oracle檔案夾下找到“TNSNAMES.ORA”檔案,開啟找到對應資料庫的連接字串,作為jdbc的連接字串;
第三步:寫代碼,通過jdbc串連資料庫。
從網上找了段代碼,做了下修改。以下為查詢資料庫表中所有欄位及欄位實值型別,遍曆資料庫表中所有資料(其中xxx均為需要替換的資訊):
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;public class ConnectDB { public static void main(String[] args) { connectDB(); } public static void connectDB() { Connection con = null; PreparedStatement pre = null; ResultSet results = null; ResultSetMetaData resultSetMetaData = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("開始嘗試串連資料庫!"); // 必須用oracle檔案夾下"tnsnames.ora"設定檔中配置的連接字串進行遠端連線資料庫 String url = "jdbc:oracle:" + "thin:@(DESCRIPTION =" + "(ADDRESS_LIST =" + "(ADDRESS = (PROTOCOL = TCP)(HOST = xxx)(PORT = xxx))" + ")" + "(CONNECT_DATA =" + "(SERVICE_NAME = xxx)" + ")" + ")"; String user = "xxx"; String password = "xxx"; con = DriverManager.getConnection(url, user, password); System.out.println("串連成功!"); String sql = "select * from xxx"; pre = con.prepareStatement(sql); System.out.println("開始執行SQL語句!"); results = pre.executeQuery(); resultSetMetaData = results.getMetaData(); int columnCount = resultSetMetaData.getColumnCount(); // 擷取資料庫表所有欄位名及欄位實值型別 for (int i = 1; i <= columnCount; i++) { System.out.println(resultSetMetaData.getColumnName(i) + ":" + resultSetMetaData.getColumnTypeName(i)); } while (results.next()) { for (int i = 1; i <= columnCount; i++) { System.out.print(results.getString(i)+"\t\t"); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (results != null) results.close(); if (pre != null) pre.close(); if (con != null) con.close(); System.out.println("資料庫連接已關閉!"); } catch (Exception e) { e.printStackTrace(); } } }}
Java中通過JDBC串連Oracle資料庫