Java JDBC 查询结果集赋值给JSON/JSONArray

编程教程 > Java (544) 2025-01-25 15:04:15

Java编程使用原生JDBC查询数据库数据,并将返回结果赋值给JSON/JSONArray对象,用于返回数据。

源码参考:

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;


public class JDBC2JSONArray {
	/**
	 * 将数据库查询的resultset结果集转换为JSONArray数组对象 <BR/>
	 * [注意:所有JSONObject对象的key中字母均为大写]
	 * 
	 * @param resultSet
	 *            数据库查询结果集
	 * @return JSONArray数组
	 * @throws SQLException
	 *             异常
	 */
	public static JSONArray result2JSONArray(ResultSet resultSet) throws SQLException {
		// 1.get columns
		ResultSetMetaData rsmd = resultSet.getMetaData();
		//
		JSONArray arr = new JSONArray();
		JSONObject obj = null;
		while (resultSet.next()) {
			obj = new JSONObject();
			for (int i = 1; i <= rsmd.getColumnCount(); i++) {
				// 获取指定列名称
				// String columnName = rsmd.getColumnName(i);
				// 获取sql指定的标签别名
				String columnLabelName = rsmd.getColumnLabel(i);
				// 获取指定列之
				Object columnValue = resultSet.getObject(i);
				// 赋值
				obj.put(columnLabelName.toUpperCase(), columnValue);
			}
			// add to set
			arr.add(obj);
		}
		return arr;
	}

}

over 搞定,收工!


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Java编程使用原生JDBC查询数据库数据,并将返回结果赋值给JSON/JSONArray对象,用于返回数据。源码参考:import java.sql.Resu
前言JDBC 批处理查询/新增/修改的使用。虽然在一般的编码中不会直接使用原生jdbc执行SQL批处理,但是作为了解记录下来。编码记录JDBC批处理的使用imp
Java 数据库连接 (JDBC)是标准应用程序编程接口 (API) 的 JavaSoft 规范,它允许 Java 程序访问数据库管理系统
如果您在项目中仍然使用JDBC进行数据库访问,这很奇怪,因为有很多强大的替代品,如hibernate和iBatis
案例问题描述有这么一个SQL,外查询 where 子句的 bizCustomerIncoming_id 字段,和子查询 where 字句的 cid 字段都有高效
接上一篇:mybatis Interceptor拦截器实现自定义扩展查询兼容mybatis plus-xqlee (blog.xqlee.com)这里进行自定义分页查询扩展,基于mybatis ...
MySQL慢查询优化_MySQL慢查询排查_MySQL慢查询设置配置
常见优化技术我们先从工业实践角度总结,几条常见 MySQL 查询优化策略。索引优化为常用的查询条件(WHERE、JOIN、GROUP BY、ORDER BY)添
需求用户的需求是多种多样的。比如:用户可能对中日关系比较感兴趣,想查找‘中’和‘日’挨得比较近(5个字的距离内)的文章,超过这个距离的不予考虑。比如:“中日双方
本文将介绍Spring Boot和HikariCP示例。HikariCP是快速,简单,可靠和生产就绪的JDBC连接池。在Spring Boot 2.0版本中,默认数据库池技术已从Tomcat P...
问题描述idea启动maven的JavaFX项目报错:Exception in Application start method java.lang.reflect.InvocationTarg...
mybatis Interceptor拦截器实现自定义扩展查询兼容mybatis plus @Intercepts({ @Signature(type = Executor.c...
项目环境maven 项目&lt;properties&gtl; &lt;maven.compiler.source&gtl;17&lt;/maven.compiler.source&gtl; &...
mysql 使用utf8mb4字符集后查询非常慢的解决办法
Java编程之Spring Cloud Hystrix Circuit熔断/断路