lee 1437 0 2017-01-14 11:48:51

文章位置:左搜> 编程技术> 正文
 jdbc数据库查询结果集直接赋值给JSON/JSONArray
package org.xqlee.utils.other;

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

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

/**
 * 
 * 
 * <pre>
 * _________________________INFO_____________________________
 * | Description : [jdbc的result转换为jsonarray对象] 
 * | Encoding    : [UTF-8]
 * | Package     : [org.xqlee.utils.other]
 * | Project     : [utils]
 * | Author      : [LXQ]
 * | CreateDate  : [2016年5月6日下午4:30:33]
 * | Updater     : []
 * | UpdateDate  : []
 * | UpdateRemark: []
 * | Company     : [Shallink Electronic Information]
 * | Version     : [v 1.0]
 * | Libs        : []
 * __________________________________________________________
 * </pre>
 */
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;
	}

}
编程技术

评论区域

暂无评论,快来抢首发吧!!!