Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

Clob 데이터 유형에 대한 값을 테이블에 삽입하는 JDBC 예제를 작성하시겠습니까?

<시간/>

다음 설명이 포함된 MyData라는 테이블이 데이터베이스에 이미 있다고 가정합니다.

+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| Name    | varchar(255) | YES  |     | NULL    |       |
| Article | longtext     | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+

JDBC 프로그램을 사용하여 clob 데이터 유형에 int 값을 삽입해야 하는 경우 파일의 내용을 읽고 데이터베이스 행으로 설정하는 메소드를 사용해야 합니다. PreparedStatement 인터페이스는 이러한 메소드를 제공합니다.

void setCharacterStream(int parameterIndex, Reader 리더) 메소드는 리더 객체의 내용을 주어진 인덱스의 매개변수에 대한 값으로 설정합니다. 이 방법의 다른 변형은 다음과 같습니다.

  • 무효 setCharacterStream(int parameterIndex, 리더 리더, int 길이)

  • 무효 setCharacterStream(int parameterIndex, 리더 리더, 긴 길이)

무효 setClob(int parameterIndex, Clob x) 메소드는 지정된 java.sql.Clob 객체를 지정된 인덱스의 매개변수에 대한 값으로 설정합니다. 이 방법의 다른 변형은 다음과 같습니다.

  • 무효 setClob(int parameterIndex, 리더 리더)

  • 무효 setClob(int parameterIndex, 리더 리더, 긴 길이)

이 방법 중 하나를 사용하여 Clob 데이터 유형에 값을 설정할 수 있습니다.

예시

다음 예제에서는 setClob() 메서드를 사용하여 값을 Clob 데이터 유형으로 설정합니다.

import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertingValueInClob {
   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 MyData(Name, Article ) VALUES (?, ?)";
      PreparedStatement pstmt = con.prepareStatement(query);
      pstmt.setString(1, "JavaFX");
      FileReader reader = new FileReader("E:\\images\\javafx.txt");
      pstmt.setClob(2, reader);
      pstmt.execute();
      System.out.println("Data inserted");
   }
}

출력

Connection established......
Table Created......
Contents of the table are:
JavaFX
E:\images\MyData_clob_output1.txt

MySQL 작업대를 사용하여 레코드의 clob 값을 보려고 하면 아래와 같이 삽입된 텍스트 데이터를 볼 수 있습니다.

Clob 데이터 유형에 대한 값을 테이블에 삽입하는 JDBC 예제를 작성하시겠습니까?