package util;
import java.sql.*;
#public class JdbcUtil {
static {
String driver = "oracle.jdbc.driver.OracleDriver"; //載入驅動,只需載入一次
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//靜態方法獲得連接
public static Connection getConnection() { 在程式設計中,我們經常需要與資料庫互動。在這個過程中,取得資料庫連線是非常關鍵的一步。在Java中,我們可以使用JDBC來實現資料庫連線。 getConnection()方法是JDBC中的靜態方法,用於取得資料庫連接物件。 這個方法通常需要傳入一些參數,例如資料庫的URL、使用者名稱和密碼等。具體的參數會根據你所使用的資料庫而有所不同。 在寫程式碼時,你可以按照以下步驟來使用getConnection()方法來取得
String url = "jdbc:oracle:thin:@127.0.0.1:1521:database";
String user = "username";
String pwd = "password";
Connection con = null;
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
}
核心程式碼:
public void actionPerformed(ActionEvent e) { 此方法是用來處理觸發的事件的。在這個方法中,可以編寫相應的程式碼來對事件做出回應。可以根據事件的類型進行不同的操作,例如點擊按鈕時執行某些操作,或在選擇選單項目時執行其他操作。在這個方法中,可以使用事件物件e來取得相關的訊息,例如取得觸發事件的元件、取得事件類型等。根據具體的需求,可以在這個方法中寫出對應的邏輯程式碼,來實作我們想要
if(e.getSource() == add){
this.setVisible(false);
new AddPanel();
}
if(e.getSource() == modify){
this.setVisible(false);
new ModifyPanel();
}
if(e.getSource() == search){
this.setVisible(false);
new SearchPanel();
}
if(e.getSource() == exit){
System.exit(0);
}
}
...........
有完整的原始碼
8.Oracle8/8i/9i資料庫(thin模式)
//import java.sql.*;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 在這行程式碼中,我們使用了Java的反射機制來動態載入並實例化了Oracle資料庫的驅動程式。透過呼叫Class類別的forName方法,並傳入驅動程式的全限定名稱"oracle.jdbc.driver.OracleDriver"作為參數,我們可以將該驅動程式載入到記憶體中。接著,使用newInstance方法建立該驅動程式的一個實例物件。這樣,我們就可以在後續的程式碼中使用該驅動程式來連接和操作Oracle資料庫了。
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為資料庫的SID,表示連接到本機的Oracle資料庫實例名為orcl
Connection conn = DriverManager.getConnection(url, "username", "password");
Statement stmtNew = conn.createStatement();是建立了一個與資料庫連線關聯的Statement物件。這個Statement物件可以用來執行SQL語句並傳回結果。
20.資料庫存入二進位欄位資料
InputStream pic = new FileInputStream(dto.get(i).getLibPic());是關於輸入流的一行程式碼。它的作用是根據dto的第i個元素所指定的libPic路徑,建立一個輸入流pic。 libPic是一個檔案路徑,透過FileInputStream將這個檔案轉換為輸入流,以便後續的操作。
sql = "INSERT INTO piclib (name,pic,sign,remark) VALUES (?,?,?,?)";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, dto.get(i).getName()); 這行程式碼是將清單中第i個物件的名稱設定為PreparedStatement的第一個參數。
pstmt.setBinaryStream(2, pic, (int)dto.get(i).getLibPic().length()); 語句中的pic是一個二進位流,用於儲存圖片資料。在這裡,我們將pic作為第二個參數傳遞給pstmt物件的setBinaryStream方法。而dto.get(i).getLibPic().length()則是獲取到的圖片資料的長度,將其強制轉換為int類型後作為第三個參數傳遞給setBinaryStream方法。這樣就可以將圖片資料儲存到資料庫中了。
21.資料庫取出二進位欄位資料
//import java.sql.*;
public class DemoDisplayBinaryDataFromDatabase {
public static Connection getConnection() throws Exception {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:databaseName";###
String username = "name";
String password = "password";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);是用來在Java中建立資料庫連線的程式碼。它使用了JDBC(Java資料庫連線)的API,透過指定資料庫的URL、使用者名稱和密碼來取得與資料庫的連線。這行程式碼是連接資料庫的關鍵步驟,它會傳回一個Connection對象,我們可以透過這個對象進行後續的資料庫操作,例如執行SQL語句、查詢資料庫等。
return conn;
}
public static void main(String args[]) throws Exception { // 在這裡寫下你的程式碼邏輯 }
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
String query = "SELECT raw_column, long_raw_column FROM binary_table WHERE id = ?";
try {
conn = getConnection();
Object[] results = new Object[2];
pstmt = conn.prepareStatement(query);是一行常見的Java程式碼,用來建立一個預先編譯的SQL語句物件。這個物件可以用來執行資料庫查詢或更新操作。透過將具體的SQL查詢或更新語句傳遞給這個方法,我們可以準備好一個可以重複使用的查詢或更新操作。這樣可以提高資料庫操作的效率,並且可以防止SQL注入攻擊。這個方法需要一個有效的資料庫連接物件conn和一個SQL語句query作為參數。透過呼叫這個方法,我們可以取得
pstmt.setString(1, "0001");
rs = pstmt.executeQuery();
rs.next();
將二進位資料在客戶端上實作
results[0] = rs.getBytes("RAW_COLUMN");
results[1] = rs.getBytes("LONG_RAW_COLUMN");
} finally {
rs.close();
pstmt.close();
conn.close();
}
}
}
以上是Java驅動程式實作本機協定的Oracle範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!