以下是一個使用 JDBC 將 Clob 數據類型的值插入表中的示例:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertClobDataExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/db_name";
String username = "username";
String password = "password";
try {
// 加載 JDBC 驅動程序
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立數據庫連接
Connection conn = DriverManager.getConnection(url, username, password);
// 創建預編譯的 SQL 語句
String sql = "INSERT INTO table_name (clob_column) VALUES (?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 讀取 Clob 數據
String clobData = readClobDataFromFile("path_to_clob_data.txt");
// 將 Clob 數據設置到預編譯的 SQL 語句中
pstmt.setCharacterStream(1, new java.io.StringReader(clobData), clobData.length());
// 執行 SQL 語句
pstmt.executeUpdate();
// 關閉連接和資源
pstmt.close();
conn.close();
System.out.println("Clob 數據插入成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
private static String readClobDataFromFile(String filePath) {
StringBuilder data = new StringBuilder();
try {
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line;
while ((line = reader.readLine()) != null) {
data.append(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
return data.toString();
}
}
```
請確保根據實際的數據庫連接 URL、數據庫用戶名和密碼修改以下變量的值:
- `url`:數據庫連接 URL,格式為 `jdbc:mysql://host:port/database`。
- `username`:數據庫用戶名。
- `password`:數據庫密碼。
還有以下變量需要根據實際情況修改:
- `sql`:要執行的 SQL 語句,包括將 Clob 數據插入到表中的 INSERT 語句。
- `table_name`:要插入數據的表名。
- `clob_column`:Clob 數據存儲字段的列名。
確保將 Clob 數據存儲在 `path_to_clob_data.txt` 文件中,并將其路徑傳遞給 `readClobDataFromFile` 方法。