>  기사  >  데이터 베이스  >  JDBC를 사용하여 MySQL 데이터베이스에 파일을 어떻게 삽입/저장할 수 있나요?

JDBC를 사용하여 MySQL 데이터베이스에 파일을 어떻게 삽입/저장할 수 있나요?

PHPz
PHPz앞으로
2023-09-16 17:01:091191검색

일반적으로 파일 내용은 Clob(TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) 데이터 유형으로 MySQL 데이터베이스에 저장됩니다.

JDBC는 파일 내용을 데이터베이스 테이블에 저장하는 Clob 데이터 유형을 지원합니다.

PreparedStatement 인터페이스의 setCharacterStream() 메소드는 매개변수의 인덱스를 나타내는 정수와 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 메서드를 사용하고, Clob 데이터를 설정하려면 setCharacterStream() 메서드를 사용하세요. 유형 값.

Example

다음은 파일을 삽입하는 방법을 보여주는 예입니다. JDBC 프로그램을 사용하여 MySQL 데이터베이스에 연결합니다. 여기서는 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......");
   }
}

Output

Connection established......
Data inserted......

MySQL Workbench를 사용하면 테이블 내용을 html 파일, .csv 파일, 텍스트 파일 등 다양한 파일로 내보낼 수 있습니다. HTML 파일에 데이터를 삽입한 후 테이블의 내용을 내보내면 출력은 다음과 같습니다.

我们如何使用 JDBC 将文件插入/存储到 MySQL 数据库中?

위 내용은 JDBC를 사용하여 MySQL 데이터베이스에 파일을 어떻게 삽입/저장할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제