Rumah > pangkalan data > tutorial mysql > Bagaimanakah kita boleh memasukkan/menyimpan fail ke dalam pangkalan data MySQL menggunakan JDBC?

Bagaimanakah kita boleh memasukkan/menyimpan fail ke dalam pangkalan data MySQL menggunakan JDBC?

PHPz
Lepaskan: 2023-09-16 17:01:09
ke hadapan
1290 orang telah melayarinya

Secara umumnya, kandungan fail disimpan dalam pangkalan data MySQL di bawah jenis data Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT).

JDBC menyediakan sokongan untuk jenis data Clob, yang menyimpan kandungan fail ke dalam jadual pangkalan data. Kaedah

setCharacterStream()

antara muka PreparedStatement menerima integer yang mewakili indeks parameter dan objek Pembaca sebagai parameter.

Dan menetapkan kandungan objek pembaca yang diberikan (fail) kepada nilai parameter (tempat letak) pada indeks yang ditentukan.

Anda boleh menggunakan kaedah ini pada bila-bila masa anda perlu menghantar nilai teks yang sangat besar.

Simpan fail teks menggunakan JDBC:

Jika anda perlu menyimpan fail dalam pangkalan data menggunakan program JDBC buat jadual dengan jenis data Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) seperti yang ditunjukkan di bawah:

CREATE TABLE Articles(Name VARCHAR(255), Article LONGTEXT);
Salin selepas log masuk

Sekarang, Gunakan JDBC untuk menyambung ke pangkalan data dan sediakan PreparedStatement Masukkan nilai ke dalam jadual yang dibuat di atas:

String query = "INSERT INTO Tutorial(Name, Article) VALUES (?,?)";PreparedStatement pstmt = con.prepareStatement(query);
Salin selepas log masuk

Gunakan kaedah setter antara muka PreparedStatement untuk menetapkan nilai pemegang tempat, dan gunakan kaedah setCharacterStream() untuk menetapkan data Clob nilai jenis.

Contoh

Berikut ialah contoh yang menunjukkan cara memasukkan fail Gunakan program JDBC untuk menyambung ke pangkalan data MySQL. Di sini, kami telah mencipta jadual dengan jenis data Clob dan memasukkan nilai di dalamnya.

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......");
   }
}
Salin selepas log masuk

Output

Connection established......
Data inserted......
Salin selepas log masuk

Menggunakan MySQL Workbench, anda boleh mengeksport kandungan jadual ke pelbagai fail, seperti fail html, fail .csv, fail teks, dsb. Jika anda mengeksport kandungan jadual selepas memasukkan data ke dalam fail HTML, outputnya akan kelihatan seperti ini:

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

Atas ialah kandungan terperinci Bagaimanakah kita boleh memasukkan/menyimpan fail ke dalam pangkalan data MySQL menggunakan JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan