java 读取clob

CreationTime--2018年7月1日09点41分

Author:Marydon

1.说明

  jdbc 数据类型为Clob,与java的String类型相对应。

2.导入

  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.ResultSet;
  4. import java.sql.ResultSetMetaData;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.util.ArrayList;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11. import java.sql.Clob;

3.代码实现

  1. public List<Map<String, Object>> queryForList() {
  2. List<Map<String, Object>> rowList = new ArrayList<Map<String, Object>>();
  3. String driver = "";
  4. String url = "";
  5. String username = "";
  6. String password = "";
  7. String sql = "";
  8. log.info("查询sql条件:" + sql);
  9. try {
  10. // 加载驱动程序,此处运用隐式注册驱动程序的方法
  11. Class.forName(driver);
  12. log.info("加载驱动成功!");
  13. } catch (ClassNotFoundException e) {
  14. log.error("加载驱动程序,此处运用隐式注册驱动程序的方法出错:" + e.getMessage());
  15. e.printStackTrace();
  16. }
  17. try {
  18. // 创建连接对象
  19. Connection con = DriverManager.getConnection(url, username, password);
  20. // 创建sql执行对象
  21. Statement st = con.createStatement();
  22. // 执行sql语句并返回结果集
  23. ResultSet rs = st.executeQuery(sql);
  24. // 获得结果集结构信息,元数据
  25. ResultSetMetaData rsmd = rs.getMetaData();
  26. // 获得列数
  27. int columnCount = rsmd.getColumnCount();
  28. // 用于接收每行数据
  29. Map<String, Object> rowData = null;
  30. // clob类型
  31. Clob clob = null;
  32. // clob转成String
  33. String clobString = "";
  34. while (rs.next()) {
  35. rowData = new HashMap<String, Object>();
  36. for (int i = 1; i <= columnCount; i++) {
  37. // 判断数据类型是否为Clob
  38. if (rs.getObject(i) instanceof Clob) {// Clob转String
  39. clob = (Clob) rs.getObject(i);
  40. clobString = clob.getSubString((long) 1, (int) clob.length());
  41. rowData.put(rsmd.getColumnName(i), clobString);
  42. } else {
  43. rowData.put(rsmd.getColumnName(i), rs.getObject(i));
  44. }
  45.  
  46. }
  47. rowList.add(rowData);
  48. }
  49.  
  50. // 关闭相关的对象
  51. if (rs != null) {
  52. rs.close();
  53. }
  54. if (st != null) {
  55. st.close();
  56. }
  57. if (con != null) {
  58. con.close();
  59. }
  60. } catch (SQLException e) {
  61. e.printStackTrace();
  62. }
  63. return rowList;
  64. }

相关推荐:

 

java 读取clob的更多相关文章

  1. Java 读取clob字段的几种方法

    Java 读取clob字段的几种方法 一.第一种 Clob clob = rs.getClob("remark");//Java.sql.Clob String detailinf ...

  2. java读取clob字段的几种方法

    http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380143fd3d1027fa3c215cc790f1a06 ...

  3. java读取clob字段的几种方法(转)

    http://blog.csdn.net/tanksyg/article/details/49927897 第一种 Clob clob = rs.getClob("remark") ...

  4. java 操作CLOB类型数据

    clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在Java 中读取clob类型的 ...

  5. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  6. 【转】Java读取matlab的.mat数据文件

    参考:Java读取mat文件 下载链接:ujmp  jmatio 下载完两个.jar文件之后,如何引用到java项目当中?项目名称->右键->Property->Java Build ...

  7. java读取输入流

    java读取输入流两种 private static byte[] readStream(InputStream in){ if(in==null){ return null; } byte[] bu ...

  8. Java读取Level-1行情dbf文件极致优化(3)

    最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...

  9. Java读取Level-1行情dbf文件极致优化(2)

    最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...

随机推荐

  1. 选中TreeView的某节点,并加背景颜色

    一:按钮事件,遍历所有节点 private void button2_Click(object sender, EventArgs e) { foreach (TreeNode n in TreeVi ...

  2. 光流法(optical flow)

    光流分为稠密光流和稀疏光流 光流(optic flow)是什么呢?名字很专业,感觉很陌生,但本质上,我们是最熟悉不过的了.因为这种视觉现象我们每天都在经历.从本质上说,光流就是你在这个运动着的世界里感 ...

  3. main函数的参数argc和argv

    版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/20413773 该篇 ...

  4. Asp.netMVC中Html.Partial,RenderPartial,Action,RenderAction区别和用法

    https://www.2cto.com/kf/201702/602449.html Partial 和RenderPartial: 这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传 ...

  5. ASP.NET MVC:WebViewPage.cs

    ylbtech-funcation-Utility: ASP.NET MVC:WebViewPage.cs 表示呈现使用 ASP.NET Razor 语法的视图所需的属性和方法. 1.A,WebVie ...

  6. linux中断

    [一].中断底半部 1. 软中断    --->>>  执行在中断上下文  --->>>  会被中断打断,不会被软中断或进程打断  --->>> ...

  7. vRealize Automation部署虚机如果出错怎么办?

    以下地方的日志可以查看: 1. Requests –> Choose my request -> View Detail –> Execution Information. 2. I ...

  8. 必须记住的 30 类 CSS 选择器

    大概大家读知道`id`,`class`以及`descendant`选择器,并且整体都在使用它们,那么你正在错误拥有更大级别的灵活性的选择方式.这篇文章里面提到的大部分选择器都是在CSS3标准下的,所以 ...

  9. Python实现爬虫设置代理IP和伪装成浏览器的方法(转载)

    https://www.jb51.net/article/139587.htm chrome_options = webdriver.ChromeOptions() chrome_options.ad ...

  10. Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

    为什么要用jsonp? 相信大家对跨域一定不陌生,对同源策略也同样熟悉.什么,你没听过?没关系,既然是深入浅出,那就从头说起. 假如我写了个index页面,页面里有个请求,请求的是一个json数据(不 ...