MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

Javaプログラムを使用してOracleデータベースに画像を挿入するにはどうすればよいですか?


Oracleデータベースにイメージを保持するには、通常、blobタイプが使用されます。したがって、blobデータ型を次のように作成したテーブルがあることを確認してください。

Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(255)
IMAGE BLOB

Oracleに画像を挿入するには データベースについては、以下の手順に従ってください。

ステップ1:データベースに接続する

getConnection()を使用してデータベースに接続できます DriverManagerのメソッド クラス

jdbc:oracle:thin:@localhost:1521 / xe であるOracleURLを渡して、Oracleデータベースに接続します。 (エクスプレス版の場合)、getConnection()メソッドのパラメーターとしてのユーザー名とパスワード。

String oracleUrl = "jdbc:oracle:thin:@localhost:1521/xe";
Connection con = DriverManager.getConnection(oracleUrl, "user_name", "password");

ステップ2:プリペアドステートメントを作成する

prepareStatement()を使用してPreparedStatementオブジェクトを作成します 接続の方法 インターフェース。このメソッドに、挿入クエリ(プレースホルダーを使用)をパラメーターとして渡します。

PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?, ?)");

ステップ3:プレースホルダーに値を設定します

PreparedStatement のsetterメソッドを使用して、プレースホルダーに値を設定します インターフェース。列のデータ型に従ってメソッドを選択しました。たとえば、列がVARCHARタイプの場合はsetString()メソッドを使用し、INTタイプの場合はsetInt()メソッドを使用できます。

また、Blobタイプの場合は、setBinaryStream()またはsetBlob()メソッドを使用して値を設定できます。これらのメソッドに、パラメーターインデックスとInputStreamクラスのオブジェクトを表す整数変数をパラメーターとして渡します。

pstmt.setString(1, "sample image");
//Inserting Blob type
InputStream in = new FileInputStream("E:\\images\\cat.jpg");
pstmt.setBlob(2, in);

ステップ4:ステートメントを実行する

execute()を使用して、上記で作成したPreparedStatementオブジェクトを実行します。 PreparedStatementのメソッド インターフェイス。

import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertImageToOracleDB {
   public static void main(String args[]) throws Exception{
      //Registering the Driver
      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver ());
      //Getting the connection
      String oracleUrl = "jdbc:oracle:thin:@localhost:1521/xe";
      Connection con = DriverManager.getConnection(oracleUrl, "system", "password");
      System.out.println("Connected to Oracle database.....");
      PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTable VALUES(?,?)");
      pstmt.setString(1, "sample image");
      //Inserting Blob type
      InputStream in = new FileInputStream("E:\\images\\cat.jpg");
      pstmt.setBlob(2, in);
      //Executing the statement
      pstmt.execute();
      System.out.println("Record inserted");
   }
}

出力

Connected to Oracle database.....
Record inserted.....

  1. Java OpenCVライブラリを使用してミラーイメージを作成するにはどうすればよいですか?

    鏡像を作成するには ImageIO.read()メソッドを使用して必要な画像を読み取ります。 画像の高さと幅を取得します。 結果を保存するために空のバッファリングされた画像を作成します ネストされたforループを使用すると、画像の各ピクセルをトラバースします。 画像の幅を右から左に繰り返します。 getRGB()メソッドを使用してピクセル値を取得します。 setRGB()メソッドを使用して、新しい幅の値を置き換えて、ピクセル値を結果の画像オブジェクトに設定します。 例 import java.io.File; import java.io.IOEx

  2. Java OpenCVライブラリを使用してイメージを作成するにはどうすればよいですか?

    OpenCVライブラリを使用すると、画像フィルタリング、幾何学的画像変換、色空間変換、ヒストグラムなどの画像処理操作を実行できます。 画像を書く Imgcodecsクラスのimread()メソッドを使用して画像のコンテンツを読み取るたびに、結果がMatrixオブジェクトに読み込まれます。 imwrite()メソッドを使用してイメージを書き込み/保存できます。これは2つのパラメータ、つまり-を受け入れます ファイル −結果を保存するファイルパスを表す文字列値。 Img −保存する画像のデータを含むマトリックスオブジェクト。 例 次のJavaの例は画像の内容を読み取りますc