JavaでCLOB型データを処理する方法
Java で CLOB 型データを扱う場合は、java.sql.Clob インタフェースと java.sql.PreparedStatement を使用して操作できます。以下に CLOB 型データを扱うサンプルコードを示します。1. CLOB 型データの読み込み:
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "SELECT clob_column FROM table_name WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if(rs.next()) {
Clob clob = rs.getClob(“clob_column”);
Reader reader = clob.getCharacterStream();
char[] buffer = new char[1024];
int bytesRead;
StringBuilder sb = new StringBuilder();
while((bytesRead = reader.read(buffer)) != -1) {
sb.append(buffer, 0, bytesRead);
}
String clobData = sb.toString();
// 处理CLOB类型数据
System.out.println(clobData); } rs.close(); pstmt.close(); conn.close();
CLOB型データの書き込み
Connection conn = DriverManager.getConnection(url, username, password); String sql = “INSERT INTO table_name (id, clob_column) VALUES (?, ?)”; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, id); Clob clob = conn.createClob(); clob.setString(1, clobData); pstmt.setClob(2, clob); int affectedRows = pstmt.executeUpdate(); pstmt.close(); conn.close();
SQL.ClobインターフェースとSQL.PreparedStatementを使用してCLOB型のデータの読み書きを行う方法について、このコードサンプルでは例を示しています。まず、SELECT文を実行してCLOB型のデータを取得し、getClobメソッドを使用してClobオブジェクトを取得します。次に、getCharacterStreamメソッドでCLOBデータのストリームを取得し、文字列をよみ取ることで、StringBuilderにCLOBのデータを読み込みます。最後に、CLOBデータをString型に変換して処理します。CLOB型のデータの書き込みについては、最初Clobオブジェクトを作成してから、setStringメソッドでデータに書き込む文字列をClobオブジェクトに設定します。そして、PreparedStatementにsetClobメソッドでClobオブジェクトを設定し、executeUpdateメソッドを使用してSQL文を実行してDBに書き込みます。