一、目錄結構及導包
在使用Oracle驅動進行數據處理前,首先需要配置好目錄結構及導入所需包。
路徑
├── lib
│ ├── ojdbc6.jar
│ └── ...
└── src
├── com.example
│ └── Main.java
└── jdbc.properties
其中lib目錄存放Oracle驅動包,jdbc.properties文件存放JDBC連接資料庫的相關配置,具體代碼如下:
#jdbc.properties
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=yourUsername
password=yourPassword
接下來,在Main.java中導入所需的包,從jdbc.properties文件中讀取資料庫連接配置:
package com.example;
import java.sql.*;
import java.io.FileInputStream;
import java.util.Properties;
public class Main {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
Properties props = new Properties();
props.load(new FileInputStream("src/jdbc.properties"));
Class.forName(props.getProperty("driver"));
conn = DriverManager.getConnection(props.getProperty("url"), props.getProperty("username"), props.getProperty("password"));
//...
} catch (Exception e) {
e.printStackTrace();
} finally {
try{if(rs!=null) rs.close();} catch(Exception e){e.printStackTrace();}
try{if(ps!=null) ps.close();} catch(Exception e){e.printStackTrace();}
try{if(conn!=null) conn.close();} catch(Exception e){e.printStackTrace();}
}
}
}
二、數據查詢
使用Oracle驅動進行數據查詢的步驟如下:
- 創建Connection對象
- 創建PreparedStatement對象
- 執行sql語句,獲取查詢結果集
- 處理結果集
- 釋放資源
具體代碼如下:
String sql = "SELECT * FROM user WHERE username=?";
ps = conn.prepareStatement(sql);
ps.setString(1, "張三");
rs = ps.executeQuery();
while(rs.next()) {
//處理結果集
}
三、數據插入、更新和刪除
使用Oracle驅動進行數據插入、更新和刪除的步驟如下:
- 創建Connection對象
- 開啟事務
- 創建PreparedStatement對象
- 執行sql語句
- 提交或者回滾事務
- 釋放資源
具體代碼如下:
String sql = "INSERT INTO user(username, password) VALUES (?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1, "張三");
ps.setString(2, "123456");
int result = ps.executeUpdate();
if(result > 0) {
//處理插入成功的情況
} else {
//處理插入失敗的情況
}
四、批量插入
批量插入可以提高數據插入的效率,使用Oracle驅動進行批量插入的步驟如下:
- 創建Connection對象
- 開啟事務
- 創建PreparedStatement對象
- 添加多個插入參數
- 執行批量插入
- 提交或者回滾事務
- 釋放資源
具體代碼如下:
String sql = "INSERT INTO user(username, password) VALUES (?,?)";
ps = conn.prepareStatement(sql);
for(int i=0; i<1000; i++) {
ps.setString(1, "user"+i);
ps.setString(2, "password"+i);
ps.addBatch();
}
ps.executeBatch();
五、數據分頁查詢
數據分頁查詢可以提高數據查詢效率,使用Oracle驅動進行數據分頁查詢的步驟如下:
- 創建Connection對象
- 創建PreparedStatement對象
- 計算分頁參數並設置
- 執行查詢,獲取分頁後的結果集
- 處理分頁後的結果集
- 釋放資源
具體代碼如下:
int currentPage = 1;
int pageSize = 10;
String sql = "SELECT * FROM user LIMIT ?,?";
ps = conn.prepareStatement(sql);
ps.setInt(1, (currentPage-1)*pageSize);
ps.setInt(2, pageSize);
rs = ps.executeQuery();
while(rs.next()) {
//處理分頁後的結果集
}
六、批處理
批處理可以提高數據插入、更新和刪除的效率,使用Oracle驅動進行批處理的步驟如下:
- 創建Connection對象
- 開啟事務
- 創建Statement對象
- 添加多個sql語句
- 執行批處理
- 提交或者回滾事務
- 釋放資源
具體代碼如下:
Statement stmt = conn.createStatement();
for(int i=0; i<1000; i++) {
stmt.addBatch("INSERT INTO user(username, password) VALUES ('user"+i+"','password"+i+"')");
}
int[] results = stmt.executeBatch();
for(int result: results) {
if(result > 0) {
//處理插入成功的情況
} else {
//處理插入失敗的情況
}
}
七、總結
通過本篇文章的闡述,我們了解了如何高效使用Oracle驅動進行數據處理,從目錄結構及導包、數據查詢、數據插入、更新和刪除、批量插入、數據分頁查詢、批處理等多個方面詳細講解了相關的操作步驟及具體代碼實現。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/280368.html