Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธี insert รูปภาพเข้า Oracle database ด้วย Java


Oracle ใช้ชนิด BLOB เก็บรูปภาพ ตารางตัวอย่าง:

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

ขั้นตอนคล้าย MySQL แตะ URL แตกต่าง:

ขั้นตอน 1: เชื่อมต่อ

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

ขั้นตอน 2: สร้าง PreparedStatement

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

ขั้นตอน 3: ตั้งค่า placeholder

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

ขั้นตอน 4: รันคำสั่ง

pstmt.execute();

ตัวอย่างโปรแกรม

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{
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
        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");
        InputStream in = new FileInputStream("E:\\images\\cat.jpg");
        pstmt.setBlob(2, in);
        pstmt.execute();
        System.out.println("Record inserted");
    }
}

ผลลัพธ์

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