Angenommen, wir haben bereits eine Tabelle mit dem Namen MyData in der Datenbank, die unten beschrieben wird.
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
Wenn Sie mit einem JDBC-Programm einen Wert int in einen Clob-Datentyp einfügen müssen, müssen Sie eine Methode verwenden, die den Dateiinhalt liest und ihn als Datenbankzeile festlegt. Die ReadyStatement-Schnittstelle stellt solche Methoden bereit. Die Methode
void setCharacterStream(int ParameterIndex, Reader Reader) setzt den Inhalt des Reader-Objekts auf den Wert des Parameters am angegebenen Index. Andere Variationen dieser Methode sind:
void setCharacterStream(intparameterIndex, Reader read, int length)
void setCharacterStream(intparameterIndex, Reader read, long length)
void setClob(intparameterIndex, Clob x ) Die -Methode legt das angegebene Java .sql.Clob-Objekt als Wert des Parameters am angegebenen Index fest. Andere Variationen dieser Methode sind:
void setClob(intparameterIndex, Reader Reader)
void setClob (int ParameterIndex, Reader Reader, Long Length)
Sie können eine dieser beiden Methoden verwenden, um den Wert zu ermitteln ist auf den Datentyp Clob festgelegt.
Das folgende Beispiel verwendet die setClob()-Methode, um einen Wert für den Clob-Datentyp festzulegen.
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"); } }
Connection established...... Table Created...... Contents of the table are: JavaFX E:\images\MyData_clob_output1.txt
Wenn Sie versuchen, MySQL Workbench zu verwenden, um den Clob-Wert im Datensatz anzuzeigen, können Sie die eingefügten Textdaten wie folgt sehen:
Das obige ist der detaillierte Inhalt vonEin JDBC-Beispiel schreiben, um einen Wert vom Datentyp Clob in eine Tabelle einzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!