본문 바로가기
MySql

MySQL에 사진을 어떻게 저장합니까?

by 베이스 공부 2020. 12. 21.
반응형

MySQL 데이터베이스에 이미지를 저장하고 싶습니다. BLOB 데이터 유형이있는 테이블을 만들었지 만 이제이 테이블에 이미지를 어떻게 저장합니까?

 

해결 방법

 

다음 예를 확인하십시오.


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class InsertPictureToMySql {
  public static void main(String[] args) throws Exception, IOException, SQLException {
    Class.forName("org.gjt.mm.mysql.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/databaseName", "root", "root");
    String INSERT_PICTURE = "INSERT INTO MyPictures (photo) VALUES (?)";

    FileInputStream fis = null;
    PreparedStatement ps = null;
    try {
      conn.setAutoCommit(false);
      File file = new File("/tmp/photo.png");
      fis = new FileInputStream(file);
      ps = conn.prepareStatement(INSERT_PICTURE);
      ps.setBinaryStream(1, fis, (int) file.length());
      ps.executeUpdate();
      conn.commit();
    } finally {
      ps.close();
      fis.close();
    }
  }
}

MySQL 테이블 :

CREATE TABLE MyPictures (
   photo  BLOB
);


INSERT INTO MyPictures (photo) VALUES(LOAD_FILE('/tmp/photo.png'));

 

참조 페이지 https://stackoverflow.com/questions/1939162

 

 

반응형

댓글