Maison > base de données > tutoriel mysql > Comment pouvons-nous insérer/stocker des fichiers dans la base de données MySQL à l'aide de JDBC ?

Comment pouvons-nous insérer/stocker des fichiers dans la base de données MySQL à l'aide de JDBC ?

PHPz
Libérer: 2023-09-16 17:01:09
avant
1265 Les gens l'ont consulté

De manière générale, le contenu d'un fichier est stocké dans une base de données MySQL sous le type de données Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT).

JDBC prend en charge le type de données Clob, qui stocke le contenu des fichiers dans des tables de base de données. La méthode

setCharacterStream()

de l'interface PreparedStatement accepte un entier représentant l'index du paramètre et un objet Reader comme paramètres.

Et définit le contenu de l'objet lecteur (fichier) donné sur la valeur du paramètre (espace réservé) à l'index spécifié.

Vous pouvez utiliser cette méthode chaque fois que vous devez envoyer des valeurs de texte très volumineuses.

Stockez des fichiers texte à l'aide de JDBC :

Si vous devez stocker des fichiers dans une base de données à l'aide du programme JDBC, créez une table avec le type de données Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) comme indiqué ci-dessous :

CREATE TABLE Articles(Name VARCHAR(255), Article LONGTEXT);
Copier après la connexion

Maintenant, utilisez JDBC pour vous connecter à la base de données et préparez un PreparedStatement Insérez la valeur dans le tableau créé ci-dessus :

String query = "INSERT INTO Tutorial(Name, Article) VALUES (?,?)";PreparedStatement pstmt = con.prepareStatement(query);
Copier après la connexion

Utilisez la méthode setter de l'interface PreparedStatement pour définir la valeur de l'espace réservé, et utilisez la méthode setCharacterStream() pour définir les données Clob tapez la valeur.

Exemple

Voici un exemple montrant comment insérer un fichier Utilisez le programme JDBC pour vous connecter à la base de données MySQL. Ici, nous avons créé une table avec le type de données Clob et y avons inséré des valeurs.

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......");
   }
}
Copier après la connexion

Sortie

Connection established......
Data inserted......
Copier après la connexion

À l'aide de MySQL Workbench, vous pouvez exporter le contenu d'une table vers divers fichiers, tels que des fichiers html, des fichiers .csv, des fichiers texte, etc. Si vous exportez le contenu d'un tableau après avoir inséré des données dans un fichier HTML, sa sortie ressemblera à ceci :

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

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal