Clobデータ型の値をテーブルに挿入するためのJDBCの例を記述しますか?
次の説明を含むMyDataという名前のテーブルがデータベースにすでに存在するとします。
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
JDBCプログラムを使用して値intをclobデータ型に挿入する必要がある場合は、ファイルの内容を読み取り、データベース行に設定するメソッドを使用する必要があります。 PreparedStatementインターフェースはそのようなメソッドを提供します。
void setCharacterStream(int parameterIndex、Reader reader) メソッドは、リーダーオブジェクトの内容を、指定されたインデックスのパラメーターの値として設定します。この方法の他の変形は次のとおりです:
-
void setCharacterStream(int parameterIndex、Reader reader、int length)
-
void setCharacterStream(int parameterIndex、Reader reader、long length)
void setClob(int parameterIndex、Clob x) メソッドは、指定されたjava.sql.Clobオブジェクトを、指定されたインデックスのパラメーターの値として設定します。この方法の他の変形は次のとおりです:
-
void setClob(int parameterIndex、Reader reader)
-
void setClob(int parameterIndex、Reader reader、long length)
これらの方法のいずれかを使用して、Clobデータ型に値を設定できます。
例
次の例では、setClob()メソッドを使用して値をClobデータ型に設定します。
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertingValueInClob {
public static void main(String args[]) throws Exception {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
//Inserting values
String query = "INSERT INTO MyData(Name, Article ) VALUES (?, ?)";
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setString(1, "JavaFX");
FileReader reader = new FileReader("E:\\images\\javafx.txt");
pstmt.setClob(2, reader);
pstmt.execute();
System.out.println("Data inserted");
}
} 出力
Connection established...... Table Created...... Contents of the table are: JavaFX E:\images\MyData_clob_output1.txt
MySQLワークベンチを使用してレコードのclob値を表示しようとすると、挿入されたテキストデータが次のように表示されます。
-
Blobデータ型の値をテーブルに挿入するためのJDBCの例を記述しますか?
次の説明を含むMyTableという名前のテーブルがデータベースにすでに存在するとします。 +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | image | blob | YES |
-
getCharacterStream()メソッドを使用してテーブルからClob値を取得するJDBCの例を記述しますか?
ResultSet インターフェイスは、データベース内のテーブルからclobデータ型を取得するためのgetClob()という名前のメソッドを提供します。これに加えて、getCharacterStream()という名前のメソッドも提供します。 getClob()と同様に、このメソッドも列のインデックスを表す整数(または、列の名前を表すString値)を受け入れ、指定された列の値を取得します。違いは、getClob()メソッド(Clobオブジェクトを返す)とは異なり、このメソッドはReaderクラスのオブジェクトを返します。 例 次の説明を使用して、データベースにMyDataという名前のテー