首先第一步要新建JAVA工程並且到導入Oracle驅動到JAVA外部依賴包:
驅動也可以在網絡上找。只要下載Oracle,Oracle驅動就存在,驅動就是 jdbc目錄下的ojdbc6.jar文件。,我的在
D:\oracle\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar
然後複製到JAVA工程裏, 然後選中 jar包 Build Path ->Add to build path就可以了。
第一步先連接數據庫
第二步執行SQL語句
第三部關閉數據庫
其中連接和關閉數據庫可以參考:
package com.voapd;
import java.sql.*;
import java.util.ResourceBundle;
/**
* jdbc工具類,負責:
* 1. 加載/註冊數據庫驅動程序
* 2. 獲取數據庫連接
* 3. 釋放數據庫資源(Connection, Statement, ResultSet)
*/
public class TestJDBC {
private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
//URL = jdbc:oracle:thin:@ + ip地址:端口 : orcl
private static final String URL = "jdbc:oracle:thin:@192.168.0.101:1521:orcl";
private static final String USERNAME = "voapd";
private static final String PASSWORD = "voapd";
static{
try {
//1. 註冊數據庫驅動程序
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
System.err.println("註冊數據庫驅動程序失敗。" + e.getMessage());
}
}
/**
* 2. 獲取數據庫連接
*
* @return
*/
public static Connection getConnection() {
try {
Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
return conn;
} catch (SQLException e) {
System.err.println("a獲得數據連接失敗。" + e.getMessage());
}
return null;
}
/**
* @param conn
* @param stmt
* @param rs
*/
public static void close(Connection conn, Statement stmt, ResultSet rs) {
try {
//關閉數據庫的資源的順序最好與使用的順序相反
if(rs != null){
rs.close();
}
if(stmt != null){
stmt.close();
}
if(conn != null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 對數據庫連接進行測試
* @param args
*/
public static void main(String[] args) {
System.out.println(getConnection());
}
}
執行SQL語言可以參考
package com.voapd;
import java.sql.*;
public class TestSQL {
private static Statement stmt=null;
private static ResultSet rs=null;
private static PreparedStatement ps=null;
public static int DML(String state){
Connection conn= TestJDBC.getConnection();
int ret=-1;
try {
ps=conn.prepareStatement(state);
ret=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
TestJDBC.close(conn, stmt, rs);
}
return ret;
}
public static ResultSet DQL(String state){
Connection conn= TestJDBC.getConnection();
ResultSet ret=null;
try {
ps=conn.prepareStatement(state);
stmt=conn.createStatement();
rs=stmt.executeQuery(state);
ret=rs;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
TestJDBC.close(conn, stmt, rs);
}
return ret;
}
public static void main(String[] args) {
System.out.println(DML("update salary_tbl set salary=123 where employer_nm ='僱傭者1' "));
System.out.println(DQL("select * from salary_tbl where rownum <5 "));
}
}
注意,不需要再字符串里加分號。