第104篇MySQL处理大文本数据

北京湿疹医院网站 http://m.39.net/pf/a_8814564.html

当文本数据内容超过64K字节时,可以称为大文本数据,大文本数据也称为CLOB数据。在MySQL中,提供了LONGTEXT类型的字段用来存储大文本数据。

课程案例shop数据库的goods(产品表)的brief字段就是大文本数据字段,可以存储4G以内的文本数据。写入大文本数据时,需要通过I/O流的方式从文本文件中读取文本内容。

针对大文本数据,PreparedStatement接口提供了如下几个方法用于写入大文本数据:

voidsetAsciiStream(intparameterIndex,InputStreamx,intlength)

该方法将指定的输入流写入数据库文本字段中。参数parameterIndex表示字段所在记录的列号。参数InputStream为输入流。参数length表示输入流的长度。

voidsetBinaryStream(intparameterIndex,InputStreamx,intlength)

该方法将指定的输入流写入数据库的二进制字段中。参数parameterIndex表示字段所在记录的列号。参数InputStream为输入流。参数length表示输入流的长度。

大文本数据写入数据库后,在查询时需要使用ResultSet接口将数据读出来。ResultSet接口提供了如下几个方法用于读取大文本数据:

InputStreamgetAsciiStream(intcolumnIndex)

该方法根据记录的列编号返回文本输入流。参数columnIndex表示结果集当前光标所在行的列号。

InputStreamgetAsciiStream(StringcolumnLabel)

该方法根据记录的列名称返回文本输入流。参数columnLabel表示结果集当前光标所在行的列名称。

ClobgetClob(intcolumnIndex)

该方法根据记录的列编号返回Clob对象。参数columnIndex表示结果集当前光标所在行的列号。

ClobgetClob(StringcolumnLabel)

该方法根据记录的列名称返回Clob对象。参数columnIndex表示结果集当前光标所在行的列名称。

InputStreamgetBinaryStream(intcolumnIndex)

该方法根据记录的列编号返回二进制数据输入流。参数columnIndex表示结果集当前光标所在行的列号。

InputStreamgetBinaryStream(StringcolumnLabel)

该方法根据记录的列名称返回二进制数据输入流。参数columnLabel表示结果集当前光标所在行的列名称。

BlobgetBlob(intcolumnIndex)

该方法根据记录的列编号返回Blob对象(二进制大数据对象)。参数columnIndex表示结果集当前光标所在行的列号。

BlobgetBlob(StringcolumnLabel)

该方法根据记录的列名称返回Blob对象(二进制大数据对象)。参数columnIndex表示结果集当前光标所在行的列名称。




转载请注明:http://www.aierlanlan.com/rzfs/1991.html

  • 上一篇文章:
  •   
  • 下一篇文章: