DM数据库TEXT类型字段查询返回时的问题

news2024/12/19 23:06:37

一、问题描述:
在项目中使用到了DM数据库连接,查询某些数据,然后以Map形式返回时TEXT类型是会出现一些问题,默认会转换为dm.jdbc.driver.DmdbNClob类型的对象,某些情况下(不知道具体原因)在JSONObject.fromObject()里会导致循环依赖报错。

二、解决方案
1.我们可以在进行sql查询时就做一下转化。
原sql示例:

select text_col from dm_table;

这里查出来对应java中DmdbNClob类型的对象。

转换后的sql示例:

select convert(varchar, text_col ) AS text_col FROM dm_table;

这样查出来得就是字符串类型了。

2.如果是像select * from 查询,那么我们可以在配置数据源连接时设置下url的参数,如下:
url: jdbc:dm://192.168.5.125:5236?clobAsString=1

3.我们也可以在应用层对这种类型的数据特殊处理,如下:

Lis<Map<String,Object>> list = getDmData();
for(Map<String,Object> map : list){
	Map<String, String> finalMap = new LinkedHashMap<>();

map.entrySet().stream().forEachOrdered(e -> {
	if (e.getValue instanceof DmdbNClob){
		DmdbNClob col = (DmdbNClob ) e.getValue;
		finalMap.put(e.getKey(), col.data);
	}else {
	    finalMap.put(e.getKey(), e.getValue());
  }
}

这样就转换好了。

其中col.data可以通过源码就知道了。
在这里插入图片描述
进入DmdbClob类
在这里插入图片描述
其中有个data字段,就是我们要获取到的字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/612418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

移动端布局之flex布局1:flex布局体验、flex布局原理、flex布局父项常见属性

移动端布局之flex布局1 flex布局体验传统布局和flex弹性布局的区别初体验index.html flex布局原理布局原理 flex布局父项常见属性常见父项属性flex-direction设置主轴的方向&#xff08;重要&#xff09;主轴与侧轴属性值flex-direction: row;flex-direction: row-reverse;flex…

笔试强训9

作者&#xff1a;爱塔居 专栏&#xff1a;笔试强训 文章简介&#xff1a;简单记录学习的细碎~ day15 一. 单选 1.给出数据表 score(stu-id,name,math,english,Chinese), 下列语句正确的是&#xff08; &#xff09; A Select sum(math),avg(chinese) from score B Select *,s…

麒麟V10防火墙,VNC,YUM源, nfs ,磁盘格式化

麒麟V10防火墙&#xff0c;VNC&#xff0c;YUM源&#xff0c; nfs &#xff0c;磁盘格式化 麒麟V10开启防火墙并设置开机自启 启动&#xff1a; systemctl start firewalld 关闭&#xff1a; systemctl stop firewalld 查看状态&#xff1a; systemctl status firewalld 开机禁…

2023年Q1电商平台饮料行业数据分析报告

我国的饮料市场非常庞大&#xff0c;从碳酸饮料到茶饮料&#xff0c;从功能性饮料到水&#xff0c;各个品类都有广泛的消费者基础。加之如今饮料消费场景不断延伸&#xff0c;家庭囤货、户外即饮、运动健身等成为消费者饮料需求的新场景&#xff0c;新需求带动线上饮料市场持续…

Numpy---创建多维数组、创建正态分布、创建均匀分布

1. 创建一个随机整数的多维数组 np.random.randint(low, highNone, sizeNone, dtypel) 参数说明: low : 最小值 highNone: 最大值 highNone时&#xff0c;生成的数值在【0, low&#xff09;区间内 如果使用high这个值&#xff0c;则生成的数值在【low, high&#xff09;区…

Nginx服务——主配置文件-nginx.conf

一、全局配置的6个模块简介 模块说明全局块全局配置&#xff0c;对全局生效events块配置影响 Nginx 服务器与用户的网络连接http块配置代理&#xff0c;缓存&#xff0c;日志定义等绝大多数功能和第三方模块的配置server块配置虚拟主机的相关参数&#xff0c;一个 http 块中可…

SSD源码总结

一、生成默认框 默认框的宽高 默认框的宽高是相对于原图的尺寸计算出来的。 默认框的中心 默认框的中心是相对于特征图的尺寸计算出来的。 二、将真实框分配给默认框 1、区分正负样本 1.1、选取正样本 计算真实框&#xff08;bboxs&#xff09;与每个默认框&#xff08;…

centos安装etcd

方法1&#xff1a;默认安装&#xff08;不建议&#xff09; 运行命令 yum install etcd 即可&#xff0c;只是安装的etcd版本较低&#xff0c;一般是 etcd-3.3.11&#xff0c;如下图 手动开启etcd&#xff0c;可以看到etcd服务已经开启来了&#xff0c;如下图 特别注意&#x…

Java开发手册中为什么要求谨慎使用ArrayList中的sublist方法

场景 Java开发手册中对于ArrayList的subList的要求如下&#xff1a; 【强制】ArrayList 的 subList 结果不可强转成 ArrayList&#xff0c;否则会抛出 ClassCastException 异常&#xff1a; java.util.RandomAccessSubList cannot be cast to java.util.ArrayList。 说明&a…

Customizable constraint systems for succinct arguments学习笔记(2)

微软研究中心Srinath Setty、a16z crypto research 和 Georgetown University Justin Thaler、Carnegie Mellon University Riad Wahby 20203年论文《Customizable constraint systems for succinct arguments》。 前序博客有&#xff1a; Customizable constraint systems f…

别小瞧,搬迁网络机房,讲究的可不少

大家好&#xff0c;我的网工朋友 最近围观咱们网工交流群&#xff0c;不少朋友提到机房搬迁这档子事&#xff0c;毕竟嘛&#xff0c;做到这方面项目的概率还是很高的。 别看机房搬迁很简单&#xff0c;其实可讲究了。 随着企业、单位的不断深入发展&#xff0c;机房搬迁&…

【正点原子STM32连载】 第二十六章 USMART调试组件实验摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…

记录搭建hadoop集群的过程

Linux(CentOS-7.6-x64位)基础配置, 虚拟机平台VmWare15 CentOS-7.6-x64镜像下载&#xff1a; https://www.aliyundrive.com/s/72Xg449t6i8 提取码: 32rm VmVare15安装包下载带序列号&#xff1a;VmVare15安装包下载带激活序列号资源-CSDN文库 点击关闭&#xff0c;点击完成&…

NineData,稳定、高效的Redis数据同步解决方案

在 DB-Engines 网站的排名中&#xff0c;Redis 在 Key-value 存储的NoSQL领域连续霸榜多年&#xff0c;是目前最流行的键值对存储数据库&#xff0c;被广泛用于缓存、队列、实时分析等多种高并发的场景中。在生产环境中&#xff0c;我们会遇到对Redis进行版本升级和架构的扩缩容…

vue 自定义el-table穿梭框功能

一、需求描述&#xff1a;前段时间接到一个需求是点击做一个类似穿梭框的表格点击选中功能&#xff0c;弹框的左边是全部数据展示&#xff0c;点击表格行数据可以选中自动增加到右边的已选框&#xff0c;并且可以手动删除、重置选中数据。点击确定后到展示到主页面&#xff0c;…

深入理解Linux虚拟内存管理(四)

系列文章目录 Linux 内核设计与实现 深入理解 Linux 内核&#xff08;一&#xff09; 深入理解 Linux 内核&#xff08;二&#xff09; Linux 设备驱动程序&#xff08;一&#xff09; Linux 设备驱动程序&#xff08;二&#xff09; Linux 设备驱动程序&#xff08;三&#xf…

精选一线企业最佳生产实践,《Apache Doris 用户案例集》重磅发布!

过去的一年势必是 Apache Doris 在发展历程中有着浓墨重彩的一年&#xff0c;凭借对技术创新的执着与用户体验的追求&#xff0c;Apache Doris 已俘获全球范围内超过 2000 家企业的认可&#xff0c;拥有了极为广泛的用户规模、在企业实时数据分析的多种场景中得到广泛应用&…

热门AI通用大模型对比盘点(附论文)

今天我来和大家聊聊通用大模型&#xff0c;垂直领域大模型等整理完了再和大家分享。大家可以先关注一下我&#xff0c;有更新可以立马看见。 本文文末有整理好的通用大模型论文&#xff0c;都是各个大模型的原始论文&#xff0c;强烈建议大模型方向的同学&#xff0c;或者对大…

突破软件交付不可能三角,企业级无代码如何实现卓越交付?

一、VUCA时代下项目交付面临的困境 软件开发或软件项目交付一直以来都存在着“不可能三角”&#xff0c;即成本、效率和质量三者难以兼得。 交付周期长、成本高、满意度低等一直是行业内长期存在的现象&#xff0c;甚至软件交付双方都习以为常。传统项目管理与软件实施过程难…

Niagara—— Texture Sample 与 Particle Subuv 区别

一&#xff0c;Texture Sample 此节点是最基本的采样节点&#xff0c;依据UV坐标来采样Texture&#xff1b; MipValueMode&#xff0c;设置采样的Mipmap Level&#xff1b; None&#xff0c;根据当前Texture大小和物理缩放&#xff0c;自动选择合适的 Mipmap Level &#xff1b…