Clob in java
来源:互联网 发布:http cdce.cf ad.js 编辑:程序博客网 时间:2024/06/05 09:15
CLOB是一种数据库中的数据类型。
Character Large Object
SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系。SQL CLOB 是内置类型,它将字符大对象 (Character Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(CLOB) 实现 Clob 对象,这意味着 CLOB 对象包含一个指向 SQL CLOB 数据的逻辑指针而不是数据本身。Clob 对象在它被创建的事务处理期间有效。
在一些数据库系统里,也使用Text 作为CLOB的别名,比如SQL Server.
CLOB和BLOB的区别
CLOB使用CHAR来保存数据。 如:保存XML文档。
BLOB就是使用二进制保存数据。 如:保存位图。
JAVA里面对CLOB的操作
在绝大多数情况下,使用2种方法使用CLOB;
1 相对比较小的,可以用String进行直接操作,把CLOB看成字符串类型即可(可使用Sring类的常用方法:trim(),replace(),repalceAll().............;
2 如果比较大,可以用 getAsciiStream 或者 getUnicodeStream 以及对应的 setAsciiStream 和 setUnicodeStream 即可;
读取数据
ResultSet rs = stmt.executeQuery("SELECT TOP 1 * FROM Test1");
rs.next();
Reader reader = rs.getCharacterStream(2);
更新数据
PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)");
pstmt.setInt(1, 1);
pstmt.setString(2, htmlStr);
pstmt.executeUpdate();
查询数据
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test1");
rs.next();
Clob clob = rs.getClob(2);
long pos = clob.position("dog", 1);
clob.setString(1, "cat", len, 3);
rs.updateClob(2, clob);
rs.updateRow();
java clob互转String
import java.io.Reader; 02.import java.sql.Clob; 03. 04.public class ClobTransfer { 05. /** 06. * 将String转成Clob ,静态方法 07. * 08. * @param str 09. * 字段 10. * @return clob对象,如果出现错误,返回 null 11. */ 12. public static Clob stringToClob(String str) { 13. if (null == str) 14. return null; 15. else { 16. try { 17. java.sql.Clob c = new javax.sql.rowset.serial.SerialClob(str 18. .toCharArray()); 19. return c; 20. } catch (Exception e) { 21. return null; 22. } 23. } 24. } 25. 26. /** 27. * 将Clob转成String ,静态方法 28. * 29. * @param clob 30. * 字段 31. * @return 内容字串,如果出现错误,返回 null 32. */ 33. public static String clobToString(Clob clob) { 34. if (clob == null) 35. return null; 36. StringBuffer sb = new StringBuffer(); 37. Reader clobStream = null; 38. try { 39. clobStream = clob.getCharacterStream(); 40. char[] b = new char[60000];// 每次获取60K 41. int i = 0; 42. while ((i = clobStream.read(b)) != -1) { 43. sb.append(b, 0, i); 44. } 45. } catch (Exception ex) { 46. sb = null; 47. } finally { 48. try { 49. if (clobStream != null) { 50. clobStream.close(); 51. } 52. } catch (Exception e) { 53. } 54. } 55. if (sb == null) 56. return null; 57. else 58. return sb.toString(); 59. } 60. 61. public static String clobToString(oracle.sql.CLOB clob){ 62. try{ 63. Reader inStream = clob.getCharacterStream(); 64. char[] c = new char[(int) clob.length()]; 65. inStream.read(c); 66. String data = new String(c); 67. inStream.close(); 68. return data; 69. }catch(Exception e){ 70. e.printStackTrace(); 71. return ""; 72. } 73. } 74.}
0 0
- Clob in java
- java处理CLOB字段
- java插入clob字段
- Java读取clob字段
- java 存取 clob 字段
- JAVA CLOB字段处理
- java插入clob字段
- java 操作clob
- Java数据库编程---Clob
- java插入clob字段
- java操作clob
- java Clob 问题解决
- JAVA读写ORCALE CLOB字段
- java 操作ORACLE Clob字段
- JAVA处理Clob大对象
- JAVA 操作 Oracle Clob,Blob
- java读写Oracle clob数据
- java String和Clob转换
- 10-0. 说反话 (20)
- 7.30个人排位赛08赛后题解
- ubuntu下不需要翻墙来安装android sdk
- FTP程序预备知识
- 黑马程序员__html基础2
- Clob in java
- 树状数组 模版 及 解释
- linux如何查看端口被谁占用
- HM学习心得2
- goLang的前景
- C语言 内存分配 地址 指针 数组 参数 实例解析
- Java jni使用
- 分布式会话管理系统http://www.docin.com/p-543605811.html
- Python 学习总结