環境:jdk1.7+oracle11g
1.創建java工程
2.在oracle安裝目錄下找到jdbc/lib/ojdbc6.jar
3.將jar包導入工程,點擊工程 - 右鍵 - Build Path - Add External Archives,選擇ojdbc6.jar
4.在oracle中創建一張表
5.在工程中創建class,例如爲:Demo.java
6.加載OracleDriver類:Class.forName("oracle.jdbc.driver.OracleDriver");
Class.forName()的作用是要求JVM查找並加載指定的類,即JVM會執行該類的靜態代碼段,OracleDriver的靜態代碼中實例化了DriverManager
7.創建數據庫連接:DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.208:1521:orcl", username, password);
8.創建Statement:stmt = conn.createStatement();
Statement 對象用於執行一條靜態的 SQL 語句並獲取它產生的結果
以下爲測試程序代碼:
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo {
static{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
private Connection conn;
private Statement stmt;//Statement 對象用於執行一條靜態的 SQL 語句並獲取它產生的結果
private ResultSet rs;
public void connectOracle(String username,String password){
try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.208:1521:orcl", username, password);
} catch (SQLException e) {
e.printStackTrace();
}
try {
stmt = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
public boolean executeNoQuery(String sql){
try {
return stmt.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public ResultSet executeQuery(String sql){
this.rs = null;
try {
rs=stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public void close(){
try {
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Demo test = new Demo();
test.connectOracle("ida", "ida");
String mySql="SELECT t.yhmc,t.xb FROM BASE_USER t";
ResultSet r = test.executeQuery(mySql);
try {
while(r.next()){
String yhmc = r.getString("yhmc");
String xb = r.getString("xb");
System.out.println(yhmc+"---"+xb);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}