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.
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);
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);
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.
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......"); } }
Connection established...... Data inserted......
À 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 :
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!