摘要:知識(shí)點(diǎn)總結(jié)大文本對(duì)象的使用知識(shí)點(diǎn)總結(jié)用于存儲(chǔ)大量的文本數(shù)據(jù)大字段有些特殊,不同數(shù)據(jù)庫(kù)處理的方式不一樣,大字段的操作常常是以流的方式來(lái)處理。最大長(zhǎng)度為字符的列。
Java知識(shí)點(diǎn)總結(jié)(JDBC-大文本對(duì)象的使用)
@(Java知識(shí)點(diǎn)總結(jié))[Java, JDBC]
CLOB(Chaaracter Large Object)用于存儲(chǔ)大量的文本數(shù)據(jù)
大字段有些特殊,不同數(shù)據(jù)庫(kù)處理的方式不一樣,大字段的操作常常是以流的方式來(lái)處理。而非一般的字段,一次即可讀出數(shù)據(jù)。
Mysql中相關(guān)類(lèi)型:TINYTEXT最大長(zhǎng)度為255(2^8-1)字符的TEXT列。
TEXT最大長(zhǎng)度為65535(2^16-1)字符的TEXT列。
MEDIUMTEXT最大長(zhǎng)度為16777215(2^24-1)字符的TEXT列。
LONGTEXT最大長(zhǎng)度為4294967295或4GB(2^32-1)字符的TEXT列。
import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; import java.io.UnsupportedEncodingException; import java.sql.Clob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * 測(cè)試CLOB 文本大對(duì)象的使用 * 將字符串和文本內(nèi)容插入到數(shù)據(jù)庫(kù)中的CLOB字段,講CLOB字段取出來(lái)的操作 * @author Administrator * */ public class Demo02 { //存 private static void insert(Connection conn){ String sql = "insert into users(NAME,INFO) values(?,?)"; PreparedStatement ps = null; try { ps = conn.prepareStatement(sql); ps.setString(1, "黃曉明"); //將文本內(nèi)容直接輸入到數(shù)據(jù)庫(kù) //ps.setClob(2, new FileReader(new File("E:/b.txt"))); //講程序中的字符串輸入到數(shù)據(jù)庫(kù)的CLOB字段中 ps.setClob(2, new BufferedReader( new InputStreamReader(new ByteArrayInputStream("黃曉明是個(gè)明星".getBytes("utf-8"))))); ps.execute(); } catch (SQLException | UnsupportedEncodingException e) { e.printStackTrace(); }finally{ DBUtil. close(ps); DBUtil. close(conn); } } //讀 private static void read(Connection conn){ String sql = "select * from users where USERID = ?"; PreparedStatement ps = null; ResultSet rs = null; try { ps = conn.prepareStatement(sql); ps.setObject(1, 10); //setObject()可以代替setInt()、setString()等 rs = ps.executeQuery(); while(rs.next()){ Clob clob = rs.getClob("INFO"); Reader r= clob.getCharacterStream(); //通過(guò)字符流的方式讀取 int temp = 0; while((temp = r.read())!=-1){ System.out.print((char)temp); } } } catch (SQLException | IOException e) { e.printStackTrace(); }finally{ DBUtil.close(rs); DBUtil.close(ps); DBUtil.close(conn); } } public static void main(String[] args) { insert(DBUtil.getConn()); read(DBUtil.getConn()); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71461.html
摘要:知識(shí)點(diǎn)總結(jié)二進(jìn)制對(duì)象的使用知識(shí)點(diǎn)總結(jié)用于存儲(chǔ)大量的二進(jìn)制數(shù)據(jù)大字段有些特殊,不同數(shù)據(jù)庫(kù)處理的方式不一樣,大字段的操作常常是以流的方式來(lái)處理的。最大長(zhǎng)度為,字節(jié)的列。二進(jìn)制對(duì)象的使用插入一張圖片,并讀取出來(lái)存讀 Java知識(shí)點(diǎn)總結(jié)(JDBC-二進(jìn)制對(duì)象的使用) @(Java知識(shí)點(diǎn)總結(jié))[Java, JDBC] BLOB(Binary Large Object) 用于存儲(chǔ)大量的二進(jìn)制數(shù)據(jù)...
摘要:知識(shí)點(diǎn)總結(jié)概要知識(shí)點(diǎn)總結(jié)簡(jiǎn)介為開(kāi)發(fā)者使用數(shù)據(jù)庫(kù)提供了統(tǒng)一的編程接口,它由一組類(lèi)和接口組成主要在包中。跟蹤可用的驅(qū)動(dòng)程序,并在數(shù)據(jù)庫(kù)和相應(yīng)的驅(qū)動(dòng)程序之間建立連接。接口與特定數(shù)據(jù)庫(kù)的連接會(huì)話,在連接上下文中執(zhí)行語(yǔ)句并返回結(jié)果。 Java知識(shí)點(diǎn)總結(jié)(JDBC-概要) @(Java知識(shí)點(diǎn)總結(jié))[Java, JDBC] 簡(jiǎn)介 JDBC(Java Database Connection)為Java...
摘要:知識(shí)點(diǎn)總結(jié)連接步驟及知識(shí)點(diǎn)總結(jié)連接數(shù)據(jù)庫(kù)步驟依序關(guān)閉使用的對(duì)象連接操作加載對(duì)應(yīng)驅(qū)動(dòng)建立連接連接對(duì)象內(nèi)部包含了對(duì)象,是一個(gè)遠(yuǎn)程連接。比較耗時(shí)這是對(duì)象管理的一個(gè)要點(diǎn)真正開(kāi)發(fā)中,為了提高效率,都會(huì)使用連接池來(lái)管理連接對(duì)象張柏芝女張三執(zhí)行結(jié)果 Java知識(shí)點(diǎn)總結(jié)(JDBC-連接步驟及CRUD) @(Java知識(shí)點(diǎn)總結(jié))[Java, JDBC] 連接數(shù)據(jù)庫(kù)步驟 showImg(https://s...
閱讀 2569·2021-09-02 15:40
閱讀 1575·2019-08-30 15:54
閱讀 1087·2019-08-30 12:48
閱讀 3408·2019-08-29 17:23
閱讀 1056·2019-08-28 18:04
閱讀 3672·2019-08-26 13:54
閱讀 613·2019-08-26 11:40
閱讀 2404·2019-08-26 10:15