Maison >base de données >tutoriel mysql >Écrire un exemple JDBC pour insérer une valeur de type de données Clob dans une table ?

Écrire un exemple JDBC pour insérer une valeur de type de données Clob dans une table ?

王林
王林avant
2023-08-25 16:21:081270parcourir

编写一个 JDBC 示例来将 Clob 数据类型的值插入表中?

Supposons que nous ayons déjà une table nommée MyData dans la base de données, qui est décrite ci-dessous.

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

Si vous devez insérer une valeur int dans un type de données clob à l'aide d'un programme JDBC, vous devez utiliser une méthode qui lit le contenu du fichier et le définit comme ligne de base de données. L'interface ReadyStatement fournit de telles méthodes. La méthode

void setCharacterStream(int parameterIndex, Reader reader) définit le contenu de l'objet lecteur à la valeur du paramètre à l'index donné. Les autres variations de cette méthode sont:

  • void setCharAttersTream (intparameterIndex, lecteur lecteur, longueur int)

  • Void setCharAtteTtream (intparameterIndex, lecteur de lecteur, longue longueur)

Void setClob (intparameterIndex, CloB x) La méthode définit l'objet java .sql.Clob donné comme valeur du paramètre à l'index donné. D'autres variantes de cette méthode sont :

  • void setClob(intparameterIndex, Reader reader)

  • void setClob (intparameterIndex, Reader reader, long length)

Vous pouvez utiliser l'une de ces deux méthodes pour La valeur est défini sur le type de données Clob.

Exemple h3>

L'exemple suivant utilise la méthode setClob() pour définir une valeur pour le type de données 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");
   }
}

Output

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

Si vous essayez d'utiliser MySQL Workbench pour afficher la valeur clob dans l'enregistrement, vous pouvez voir les données texte insérées comme ceci :

Écrire un exemple JDBC pour insérer une valeur de type de données Clob dans une table ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer