JDBCを使用してMySQLデータベースにファイルを挿入/保存するにはどうすればよいですか?
通常、ファイルの内容は Clobに保存されます。 (TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT)MySQLデータベースのデータ型。
JDBCは、ファイルの内容をデータベースのテーブルに格納するためのClobデータ型のサポートを提供します。
setCharacterStream() PreparedStatementのメソッド インターフェイスは、パラメータのインデックスを表す整数と、パラメータとしてReaderオブジェクトを受け入れます。
そして、指定されたリーダーオブジェクト(ファイル)の内容を、指定されたインデックスのパラメーター(プレースホルダー)の値として設定します。
非常に大きなテキスト値を送信する必要がある場合はいつでも、この方法を使用できます。
JDBCを使用したテキストファイルの保存:
JDBCプログラムを使用してデータベースにファイルを格納する必要がある場合は、以下に示すように、Clob(TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT)データ型のテーブルを作成します。
CREATE TABLE Articles(Name VARCHAR(255), Article LONGTEXT);
次に、JDBCを使用してデータベースに接続し、 PreparedStatementを準備します。 上記で作成したテーブルに値を挿入するには:
String query = "INSERT INTO Tutorial(Name, Article) VALUES (?,?)";PreparedStatement pstmt = con.prepareStatement(query);
PreparedStatementインターフェースのsetterメソッドを使用してプレースホルダーに値を設定し、 setCharacterStream()を使用してClobデータ型の設定値を設定します。 メソッド。
例
以下は、JDBCプログラムを使用してMySQLデータベースにfileinを挿入する方法を示す例です。ここでは、Clobデータ型を使用してテーブルを作成し、それに値を挿入しました。
import java.io.FileReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class InsertingFileToDatabase { 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 Articles(Name, Article) VALUES (?, ?)"; PreparedStatement pstmt = con.prepareStatement(query); pstmt.setString(1, "article1"); FileReader reader = new FileReader("E:\\data\\article1.txt"); pstmt.setCharacterStream(2, reader); pstmt.execute(); pstmt.setString(1, "article2"); reader = new FileReader("E:\\data\\article2.txt"); pstmt.setCharacterStream(2, reader); pstmt.execute(); pstmt.setString(1, "article3"); reader = new FileReader("E:\\data\\article3.txt"); pstmt.setCharacterStream(2, reader); pstmt.execute(); System.out.println("Data inserted......"); } }
出力
Connection established...... Data inserted......
MySQLワークベンチを使用すると、テーブルの内容をhtmlファイル、.csvファイル、テキストファイルなどのさまざまなファイルにエクスポートできます。HTTMLファイルにデータを挿入した後にテーブルの内容をエクスポートすると、出力は次のようになります。
-
JDBCを使用してデータベースからファイルを取得するにはどうすればよいですか?
ResultSet インターフェイスは、 getClob()という名前のメソッドを提供します およびgetCharacterStream() Clobを取得するには データ型。通常、ファイルの内容が保存されます。 これらのメソッドは、列のインデックスを表す整数(または、列の名前を表す文字列値)を受け入れ、指定された列の値を取得します。 違いは、getClob()メソッドがClobオブジェクトを返し、getCgaracterStream()メソッドがClobデータ型のコンテンツを保持するReaderオブジェクトを返すことです。 例 次の説明を使用して、データベースにArticlesとい
-
Javaを使用してDATEをMySQL列の値に挿入するにはどうすればよいですか?
このために、JavaのPreparedStatementを使用できます。まず、列の1つがDATE型のArrivalDateであるテーブルを作成しましょう- mysql> create table DemoTable( PassengerId int, PassengerName varchar(40), ArrivalDate date ); Query OK, 0 rows affected (0.82 sec) 日付を挿入するためのJAVAコードは次のとおりです- import java.sql.Conn