編寫一個JDBC示例,用於將CLOB資料型別的值插入表中?


假設我們已經在資料庫中擁有一個名為MyData的表,其描述如下。

+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| Name    | varchar(255) | YES  |     | NULL    |       |
| Article | longtext     | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+

如果您需要使用JDBC程式將值插入到clob資料型別中,則需要使用讀取檔案內容並將其設定為資料庫行的方法。PreparedStatement介面提供了此類方法。

**void setCharacterStream(int parameterIndex, Reader reader)** 方法將reader物件的內容設定為給定索引處引數的值。此方法的其他變體是

  • void setCharacterStream(int parameterIndex, Reader reader, int length)

  • void setCharacterStream(int parameterIndex, Reader reader, long length)

**void setClob(int parameterIndex, Clob x)** 方法將給定的java.sql.Clob物件設定為給定索引處引數的值。此方法的其他變體是

  • void setClob(int parameterIndex, Reader reader)

  • void setClob(int parameterIndex, Reader reader, long length)

您可以使用這些方法中的任何一種將值設定為Clob資料型別。

示例

以下示例使用setClob()方法將值設定為Clob資料型別。

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:///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

如果您嘗試使用MySQL Workbench檢視記錄中的clob值,則可以看到如下所示的插入文字資料

更新於:2019年7月30日

2K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.