resultset结果集转化为json源码
来源:互联网 发布:肯德基优惠券软件 编辑:程序博客网 时间:2024/06/08 13:12
下载包链接:
http://download.csdn.net/detail/ruthywei/9876958
http://download.csdn.net/detail/yangs_1235/5049404
需要导入的包为
mysql-connector-java-5.1.7-bin.jar //JDBC包用于连接数据库
用于resultset结果集转化为json数据格式的包
其中,json-lib-2.4-jdk15.jar 用于导入net.sf.json.JSONArray和net.sf.json.JSONObject
json-rpc-1.0.jar用于导入org.json.JSONArray和org.json.JSONObject
两者之间的方法有所不同,有兴趣可以自行查询。
源码如下:
package com.eabax.plugin.yundada.utils; import java.lang.reflect.Method;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException; import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject; public class ResultSetTool { /** * 将resultSet转化为实体类(实体字段全为String类型) * @param rs * @param dto * @return * @throws Exception */ public static <T> T bindDataToDTO(ResultSet rs, T dto) throws Exception { //取得Method方法 Method[] methods = dto.getClass().getMethods(); //取得ResultSet的列名 ResultSetMetaData rsmd = rs.getMetaData(); int columnsCount = rsmd.getColumnCount(); String[] columnNames = new String[columnsCount]; for (int i = 0; i < columnsCount; i++) { columnNames[i] = rsmd.getColumnLabel(i + 1); } //遍历ResultSet while (rs.next()) { //反射, 从ResultSet绑定到JavaBean for (int i = 0; i < columnNames.length; i++) { //取得Set方法 String setMethodName = "set" + columnNames[i]; //遍历Method for (int j = 0; j < methods.length; j++) { if (methods[j].getName().equalsIgnoreCase(setMethodName)) { setMethodName = methods[j].getName(); Object value = rs.getObject(columnNames[i]); //实行Set方法 try { //JavaBean内部属性和ResultSet中一致时候 if(value != null) { Method setMethod = dto.getClass().getMethod( setMethodName, value.getClass()); setMethod.invoke(dto, value); } } catch (Exception e) { //JavaBean内部属性和ResultSet中不一致时候,使用String来输入值。 Method setMethod = dto.getClass().getMethod( setMethodName, String.class); setMethod.invoke(dto, value.toString()); } } } } } return dto; } /** * 将resultSet转化为JSON数组 * @param rs * @return * @throws SQLException * @throws JSONException */ public static JSONArray resultSetToJsonArry(ResultSet rs) throws SQLException,JSONException { // json数组 JSONArray array = new JSONArray(); // 获取列数 ResultSetMetaData metaData = rs.getMetaData(); int columnCount = metaData.getColumnCount(); // 遍历ResultSet中的每条数据 while (rs.next()) { JSONObject jsonObj = new JSONObject(); // 遍历每一列 for (int i = 1; i <= columnCount; i++) { String columnName =metaData.getColumnLabel(i); String value = rs.getString(columnName); jsonObj.put(columnName, value); } array.put(jsonObj); } return array; } /** * 将resultSet转化为JSONObject * @param rs * @return * @throws SQLException * @throws JSONException */ public static JSONObject resultSetToJsonObject(ResultSet rs) throws SQLException,JSONException { // json对象 JSONObject jsonObj = new JSONObject(); // 获取列数 ResultSetMetaData metaData = rs.getMetaData(); int columnCount = metaData.getColumnCount(); // 遍历ResultSet中的每条数据 if (rs.next()) { // 遍历每一列 for (int i = 1; i <= columnCount; i++) { String columnName =metaData.getColumnLabel(i); String value = rs.getString(columnName); jsonObj.put(columnName, value); } } return jsonObj; }}
阅读全文
0 0
- resultset结果集转化为json源码
- resultset结果集封装为json的各种形式
- java 将 ResultSet 转化为 json格式
- DAO层通用实现,结果集ResultSet转化为javaBean的反射实现,自动生成javaBean
- 数据库结果集ResultSet转json实现
- 判断ResultSet结果集是否为空
- 判断ResultSet结果集是否为空
- 判断ResultSet结果集是否为空
- ResultSet结果集为空判断
- ResultSet结果集判断是否为空
- 判断resultSet结果集为空
- resultset结果集转换为实体List
- 判断ResultSet结果集是否为空
- ResultSet结果集转换为实体对象实现方案
- Java之判断ResultSet结果集是否为空!...
- ResultSet结果集转换为实体对象实现方案
- 判断java,jdbc中ResultSet结果集是否为空
- Java中将ResultSet结果集转换为List
- jQuery的extend方法
- META标签的用法
- Android 6.0多个权限申请,教你使用Google easypermissions框架,100%申请成功
- 剑指offer面试题[11]-数值的正整数次方
- 常用设计模式
- resultset结果集转化为json源码
- 关于堆和栈
- vue源码解析之--数据双向绑定
- eclipse快捷键
- Linux下使用curl命令发送GET请求时多个参数截断的问题
- window系统下面实现mysql主从数据库同步
- install vmware-tools-patches
- AngularJS—学习 ui-router
- 在Android 程序中用LeakCanary检测内存泄漏