


Was ist der JDBC-Blob-Datentyp? Wie speichert und liest man die darin enthaltenen Daten?
BLOB ist ein binäres großes Objekt, das eine variable Datenmenge mit einer maximalen Länge von 65535 Zeichen speichern kann.
Sie werden zum Speichern großer Mengen binärer Daten wie Bilder oder anderer Datentypen verwendet. dokumentieren. Als TEXT definierte Felder enthalten ebenfalls große Datenmengen. Der Unterschied zwischen beiden besteht darin, dass beim Sortieren und Vergleichen gespeicherter Daten in BLOBs die Groß-/Kleinschreibung beachtet wird, in TEXT-Feldern jedoch nicht. Sie haben die Länge nicht mit BLOB oder TEXT angegeben.
Blob in Datenbank speichern
Um den Blob-Datentyp in der Datenbank zu speichern, befolgen Sie die folgenden Schritte mit dem JDBC-Programm
Schritt 1: Mit der Datenbank verbindenSie können die Methode DriverManagergetConnection() verwenden, um eine Verbindung zur Datenbank herzustellen
indem Sie die MySQL-URL (jdbc:mysql://localhost/sampleDB) (wobei exampleDB der Datenbankname ist), den Benutzernamen und das Passwort als Parameter an die Methode getConnection() übergeben.
String mysqlUrl = "jdbc:mysql://localhost/sampleDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
Schritt 2: Erstellen Sie eine vorbereitete Anweisung
Verwenden Sie die Methode prepareStatement() der Schnittstelle Connection, um ein PreparedStatement-Objekt zu erstellen. Übergeben Sie die Einfügungsabfrage (mit Platzhaltern) als Parameter an diese Methode.
PreparedStatement pstmt = con.prepareStatement("INSERT INTO MyTableVALUES(?, ?)");
Schritt 3: Wert für den Platzhalter festlegen
Verwenden Sie die Setter-Methode der Schnittstelle PreparedStatement, um den Wert für den Platzhalter festzulegen. Wählen Sie eine Methode basierend auf dem Datentyp der Spalte. Wenn die Spalte beispielsweise vom Typ VARCHAR ist, verwenden Sie die Methode setString(); wenn die Spalte vom Typ INT ist, können Sie die Methode setInt() verwenden.
Wenn die Spalte vom Typ Blob ist, können Sie den Wert dafür mit der Methode setBinaryStream() oder setBlob() festlegen. Diesen Methoden werden eine Ganzzahlvariable, die den Parameterindex darstellt, und ein Objekt der InputStream-Klasse als Parameter übergeben.
pstmt.setString(1, "sample image"); //Inserting Blob type InputStream in = new FileInputStream("E:\images\cat.jpg"); pstmt.setBlob(2, in);
Schritt 4: Anweisung ausführen
Verwenden Sie die Methode execute() der Schnittstelle PreparedStatement, um das oben erstellte PreparedStatement-Objekt auszuführen.
Blobs aus der Datenbank abrufen
Die getBlob()-Methode der ResultSet-Schnittstelle akzeptiert eine Ganzzahl, die den Index der Spalte darstellt (oder einen Zeichenfolgenwert, der den Spaltennamen darstellt), ruft den Wert der angegebenen Spalte ab und gibt ihn zurück die Form eines Blob-Objekts. Die
getBytes()-Methode der while(rs.next()) {
rs.getString("Name");
rs.getString("Type");
Blob blob = rs.getBlob("Logo");
}
Mit der Methode getBlob() können Sie den Inhalt des Blobs in ein Byte-Array übertragen und mit der Methode write() ein Bildobjekt FileOutputStream erstellen.
byte byteArray[] = blob.getBytes(1,(int)blob.length()); FileOutputStream outPutStream = new FileOutputStream("path"); outPutStream.write(byteArray);
Beispiel
Das folgende Beispiel erstellt eine Tabelle vom Blob-Datentyp in einer MySQL-Datenbank und fügt ein Bild darin ein. Rufen Sie es ab und speichern Sie es im lokalen Dateisystem.
import java.io.FileInputStream; import java.io.FileOutputStream; import java.sql.Blob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class BlobExample { 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......"); //Creating a table Statement stmt = con.createStatement(); stmt.execute("CREATE TABLE SampleTable( Name VARCHAR(255), Image BLOB)"); System.out.println("Table Created"); //Inserting values String query = "INSERT INTO SampleTable(Name,image) VALUES (?, ?)"; PreparedStatement pstmt = con.prepareStatement(query); pstmt.setString(1, "sample image"); FileInputStream fin = new FileInputStream("E:\images\cat.jpg"); pstmt.setBlob(2, fin); pstmt.execute(); //Retrieving the data ResultSet rs = stmt.executeQuery("select * from SampleTable"); int i = 1; System.out.println("Contents of the table are: "); while(rs.next()) { System.out.println(rs.getString("Name")); Blob blob = rs.getBlob("Image"); byte byteArray[] = blob.getBytes(1,(int)blob.length()); FileOutputStream outPutStream = new FileOutputStream("E:\images\blob_output"+i+".jpg"); outPutStream.write(byteArray); System.out.println("E:\images\blob_output"+i+".jpg"); System.out.println(); i++; } } }
Ausgabe
Connection established...... Table Created Contents of the table are: sample image E:\images\blob_output1.jpg
Das obige ist der detaillierte Inhalt vonWas ist der JDBC-Blob-Datentyp? Wie speichert und liest man die darin enthaltenen Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

Die Volltext-Suchfunktionen von InnoDB sind sehr leistungsfähig, was die Effizienz der Datenbankabfrage und die Fähigkeit, große Mengen von Textdaten zu verarbeiten, erheblich verbessern kann. 1) InnoDB implementiert die Volltext-Suche durch invertierte Indexierung und unterstützt grundlegende und erweiterte Suchabfragen. 2) Verwenden Sie die Übereinstimmung und gegen Schlüsselwörter, um den Booleschen Modus und die Phrasesuche zu unterstützen. 3) Die Optimierungsmethoden umfassen die Verwendung der Word -Segmentierungstechnologie, die regelmäßige Wiederaufbauung von Indizes und die Anpassung der Cache -Größe, um die Leistung und Genauigkeit zu verbessern.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

MySQL unterstützt vier Indextypen: B-Tree, Hash, Volltext und räumlich. 1.B-Tree-Index ist für die gleichwertige Suche, eine Bereichsabfrage und die Sortierung geeignet. 2. Hash -Index ist für gleichwertige Suche geeignet, unterstützt jedoch keine Abfrage und Sortierung von Bereichs. 3. Die Volltextindex wird für die Volltext-Suche verwendet und ist für die Verarbeitung großer Mengen an Textdaten geeignet. 4. Der räumliche Index wird für die Abfrage für Geospatial -Daten verwendet und ist für GIS -Anwendungen geeignet.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.
