在POJO字符串可以声明为一个大型对象java.lang.String要么java.sql.Clob种类。

当程序从数据库加载Clob数据的类型。负荷只有一个Clob数据的逻辑指针类型。我们需要通过使用Clob.getCaracterStream()方法Clob型的数据输入流之后才干获取大对象数据。

看以下详细代码

  1. package dao;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.Reader;
  6. import java.math.BigDecimal;
  7. import java.sql.Clob;
  8. import java.sql.SQLException;
  9.  
  10. import org.hibernate.LobHelper;
  11. import org.hibernate.Query;
  12. import org.hibernate.Session;
  13. import org.hibernate.Transaction;
  14.  
  15. import entity.Clobtable;
  16. import Factory.HibernateSessionFactory;
  17.  
  18. public class ClobDao {
  19. private Session session = null;
  20. private Transaction tran = null;
  21. public ClobDao() {
  22. session = HibernateSessionFactory.getSession();
  23. }
  24.  
  25. public void saveClob(BigDecimal id,String content){
  26. Clobtable ct = new Clobtable();
  27. ct.setId(id);
  28. LobHelper lh = session.getLobHelper();
  29. ct.setContent(lh.createClob(content));
  30. tran = session.beginTransaction();
  31. try{
  32. session.save(ct);
  33. tran.commit();
  34. System.out.println("插入成功!
  35.  
  36. ");
  37. }catch(Exception e){
  38. tran.rollback();
  39. System.out.println("插入失败");
  40. }
  41. }
  42.  
  43. public void getClob(BigDecimal id){
  44. String hql = "from Clobtable where id = ?
  45.  
  46. ";
  47. Query query = session.createQuery(hql);
  48. query.setBigDecimal(0, id);
  49. Clobtable ct = (Clobtable) query.uniqueResult();
  50. Clob clob = ct.getContent();
  51. try {
  52. Reader reader = clob.getCharacterStream();
  53. BufferedReader br = new BufferedReader(reader);
  54. String content = br.readLine();
  55. System.out.println(content);
  56. } catch (SQLException e) {
  57. e.printStackTrace();
  58. System.out.println("读取失败!");
  59. } catch (IOException e) {
  60. System.out.println("读取失败。");
  61. }
  62.  
  63. }
  64. }

版权声明:本文博客原创文章。博客,未经同意,不得转载。

Hibernate操作Clob数据类型的更多相关文章

  1. panzer 电力项目十一--hibernate操作大文本字段Blob和Clob

    hibernate操作大文本字段Blob和Clob解决方案: 1.大文本字段Blob和Clob(流); 2.截串存取 第一步: 创建新表:Elec_CommonMsg_Content create t ...

  2. Hibernate(五)基本数据类型

    一.Hibernate的基本数据类型 3种数据类型之间的对应关系 Hibernate映射类型 Java类型 标准SQL类型 integer java.lang.Integer INTEGER long ...

  3. 操作CLOB数据——oracle

    DECLARE V_UPDATE CLOB := '{"cpc_msg_tel":"15098025316","cvm_money":&qu ...

  4. C#按位操作,直接操作INT数据类型的某一位

    /// <summary> /// 根据Int类型的值,返回用1或0(对应True或Flase)填充的数组 /// <remarks>从右侧开始向左索引(0~31)</r ...

  5. Java基础知识强化之IO流笔记57:数据输入输出流(操作基本数据类型)

    1. 数据输入输出流(操作基本数据类型) (1)数据输入流:DataInputStream DataInputStream(InputStream in) (2)数据输出流:DataOutputStr ...

  6. hibernate操作数据库总结

    这篇文章用于总结hibernate操作数据库的各种方法 一.query方式 1.hibernate使用原生态的sql语句执行数据库查询 有些时候有些开发人员总觉得用hql语句不踏实,程序出现了错误,就 ...

  7. hibernate 操作 Postgresql 数据库报 operator does not exist: integer = character varying

    网上的说法如下: Java开发Postgresql 数据库兼容应用的问题,与Oracle有一些不同: Java类型映射数据库类型的不同,Oracle jdbc驱动程序处理Java String类型可正 ...

  8. Java_Web三大框架之Hibernate操作数据库(三)

    使用Hibernate操作数据库需要七个步骤: (1)读取并解析配置文件 Configuration conf = newConfiguration().configure(); (2)读取并解析映射 ...

  9. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

随机推荐

  1. 暂停和屏蔽右键网页中的Flash

    如何暂停网页中的Flash?原理很简单,就是屏蔽Flash的消息即可.屏蔽右键也可以通过此方法 直接贴代码吧,加了注释,很容易就能懂了 新建工程,加一个WebBrowser,再加两个按钮.Flash ...

  2. Abot 爬虫

    Abot 爬虫分析-整体结构 1. 引言 在Github 上搜索下Web Crawler 有上千个开源的项目,但是C#的仅仅只有168 个,相比于Java 或者Python 确实少的可怜.如果按照St ...

  3. XML SelectSingleNode的使用 根据节点属性获取该节点

    unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Form ...

  4. niu人

    金步国简历 金步国简历 基本资料 姓名 金步国 性别 男 年龄 30 籍贯 江苏 淮安 院校 同济大学 专业 土木工程 学历 本科肄业 工作经验 5年 期望地点 长江以南 期望薪水 18000/月 个 ...

  5. SetDlgItemText控件运行错误

    SetDlgltem函数把一个WM_SETTEXT消息发送到指定的控件. 今天在测试一个小程序,发现使用SetDlgItemText控件编译没问题,但是运行就出错误. 语句为: time=CTime: ...

  6. [C++]引用浅析

    Date:2013-12-22 Summary: 引用数据类型的一些概念记录(沟通中提到引用必须结合语境才能知道说的是引用变量还是“引用”这一行为,再次提到引用指的一般是引用变量) Contents: ...

  7. Android开发之Sqlite的使用

    在Android中存储数据可以用文件.数据库.网络,其中文件和数据库是最常用的,数据库我们常用的就是Sqlite,它是一种经量级的.嵌入式的关系型数据库:在android中当需要操作SQLite数据库 ...

  8. Android 异步链式调用设计

    本文讨论一下异步链式调用的设计与实现. 考虑如下情况: 情况1: 访问网络(或其他耗时的事情).通常的做法是: 1.显示一个ProgressDialog对话框,提示用户. 2.启动工作线程来执行耗时操 ...

  9. poj-3791-An Easy Game-记忆化搜索

    dp[i][j]:还有i个不同样的位置,还能走j步,一共同拥有多少种走法. 非常明显 dp[i][j]=sigm(dp[i-k][j-1]*c[i][k]*c[n-i][m-k]); 用记忆化搜索记忆 ...

  10. 真实世界里的钢铁侠-特斯拉汽车创始人埃隆&#183;马斯克(Elon Musk)

    真实世界里的钢铁侠--特斯拉汽车公司和SpaceX公司总裁马斯克(31岁).当我们得意于「站在山上踢几块石头下去」或是「站在风口上的猪」的成功理论的时候,我们真的成功了吗?我们到底创造了什么?改变了什 ...