遇到的问题,记录一下。
从数据库里取值放到一个JSONObject里,最后用JSONObject.toString()将其转化为json字符串。在sql语句包含rowid之前是ok的。加了rowid后发现,rowid列的值全部变成
Oracle.Sql.ROWID@xxxxx之类的东西[我用的数据库是oracle]。网上查了些资料没搞定。最后用了个很丑陋的方法解决了先。
原来的代码:
ResultSet rs;
ResultSetMetaData meta = rs.getMetaData();
while (rs.next()){
JSONObject jotmp = new JSONObject();
for (int i = 0; i < cols; i++) {
jotmp.accumulate(meta.getColumnLabel(i + 1).toLowerCase(), rs.getObject(i + 1));
}
jo.append("root", jotmp);
}
丑陋的解决方法:
if (rs.getObject(i + 1) instanceof ROWID) {
jotmp.accumulate(meta.getColumnLabel(i + 1).toLowerCase(),rs.getString(i + 1));
} else {
jotmp.accumulate(meta.getColumnLabel(i + 1).toLowerCase(), rs.getObject(i + 1));
}
分享到:
相关推荐
这个库包含了丰富的Oracle类和接口,使得开发人员可以方便地执行SQL查询、管理事务、处理结果集以及实现其他高级数据库操作。 Oracle.DataAccess.Client.dll的核心功能之一是`OracleConnection`类,它代表了一个到...
"oracle.sql必备参考"这个压缩包显然是一份关于Oracle SQL的重要参考资料,可能包含了各种查询技巧、函数、语法示例以及最佳实践。 首先,Oracle SQL的基础包括数据定义语言(DDL)、数据操作语言(DML)、数据查询...
mysql虚拟了一个rowid(类似跟oracle的rowid)--SQL语句
sql学习 oracle 行定位与rowid描述.sql
027.sql高级查询_伪列rowid.mp4 028.sql高级查询_伪列rownum.mp4 029.sql函数_字符函数.mp4 030.sql函数_数字函数.mp4 031.sql函数_日期函数.mp4 032.sql函数_转换函数.mp4 033.sql函数_其它函数.mp4 034.sql函数_...
### Oracle SQL性能优化技巧详解 #### 一、选择最有效率的表名顺序 - **原理**: Oracle数据库的解析器遵循从右至左的顺序处理`FROM`子句中的表名。 - **策略**: 在涉及多个表的连接查询中, 应选择记录条数最少的表...
在 Oracle 数据库与 Java 应用程序交互时,理解 SQL 数据类型和它们对应的 JDBC 类型以及 Oracle 扩展的 Java 类型是至关重要的。这里我们将深入探讨这些概念,并提供一个全面的指南。 首先,JDBC(Java Database ...
- `ROWID`:Oracle 的行标识符,映射为 `oracle.jdbc.OracleTypes.ROWID`。 - `CURSOR`:Oracle 的游标类型,映射为 `oracle.jdbc.OracleTypes.CURSOR`。 理解这些映射关系对于编写高效且可靠的 JDBC 代码至关...
Oracle 扩展的 JDBC 类型包括:BFILE、ROWID、CURSOR、TIMESTAMP、TIMESTAMPLTZ 等。这些类型可以用于 Oracle 数据库中的特殊操作。 在 Java 应用程序中,了解 Oracle 数据类型和对应的 JDBC 类型是非常重要的,...
在Oracle SQL中,`ROWID`和`ROWNUM`是两个非常重要的概念,它们在数据库查询和数据操作中起着至关重要的作用。本文将详细探讨这两个特性,包括它们的定义、用途以及如何在实际场景中有效利用它们。 一、ROWID详解 `...
- ROWID是Oracle特有的行标识符,用于快速定位数据库中的行记录。 - 表分区是一种高级特性,允许大型表按特定规则划分为较小、更易管理的部分,提高查询性能。 3. **SQL优化** - SQL优化器是Oracle的核心组件,...
Oracle提供了多种工具和技术来帮助管理员和开发者优化索引使用,如SQL Tuning Advisor和SQL Access Advisor。 #### 8. 维护索引 随着数据的变化,索引的性能可能会逐渐下降。因此,定期维护索引是非常重要的。这...
在Oracle SQL中,`ROWID`和`ROWNUM`是两个非常重要的概念,它们在数据库查询和操作中扮演着关键角色。本篇文章将详细解析这两个概念及其应用。 **ROWID** `ROWID`是Oracle数据库中一个特殊的伪列,它为每一行数据...
ORACLE 优化 SQL 语句提高 Oracle 执行效率 Oracle 是一个功能强大的关系数据库管理系统,然而,如果不正确地使用 SQL 语句,可能会导致执行效率低下。为了提高 Oracle 的执行效率,需要遵循一些最佳实践。下面是...
### Oracle到SQL Server存储过程语法转换详解 在数据库迁移项目中,从Oracle迁移到SQL Server是一种常见的场景。本文旨在提供一份详细的指南,帮助开发者更好地理解这两种数据库系统在存储过程方面的语法差异,并...
Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一) http://download.csdn.net/source/3268267 Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二) ...
### Oracle SQL中ROWID与ROWNUM的使用 #### ROWNUM 的使用——TOP-N 分析 在 Oracle SQL 中,`ROWNUM` 是一种特殊的伪列,用于标识查询结果集中的行编号。它常用于实现 TOP-N 查询,即返回结果集中满足特定条件的...
12. ROWID的使用涉及Oracle中的行标识符,可以用来快速访问表中的单个行。 13. Oracle 10G正则表达式扩展了对文本处理的能力,提供了更为强大的文本搜索和替换功能。 14. 使用HINT允许开发者给优化器提供提示,以...
ORACLE中SQL查询语句的优化 ORACLE中SQL查询语句的优化是数据库应用设计中的一项重要技术,它直接影响着数据库的查询效率和性能。在ORACLE中,查询语句的优化需要考虑多种因素,包括索引的选择、驱动表的选择、查询...