博客
关于我
数据库查询结果操作类
阅读量:604 次
发布时间:2019-03-12

本文共 1572 字,大约阅读时间需要 5 分钟。

import java.ResultSet;import java.util.ArrayList;import java.sql.ResultSetMetaData;public class ResultSetUtil {        /**      * 将数据库查询结果转换为对象类实例     * @param rs 数据库查询结果     * @param cls 对应的对象类     * @return 转换后的对象列表     * @throws Exception 可能出现的异常     */    public static List RSToObj(ResultSet rs, Class cls) throws Exception {        List list = new ArrayList();                // 获取查询结果集合的字段信息        ResultSetMetaData metaData = rs.getMetaData();        List columnNames = new ArrayList();        for (int i = 0; i < metaData.getColumnCount(); i++) {            columnNames.add(metaData.getColumnName(i + 1)); // field name        }                // 获取目标对象类的所有方法        Method[] methods = cls.getDeclaredMethods();                while (rs.next()) {            // 创建对象实例            Object t = cls.getDeclaredConstructor().newInstance();                        // 把结果集数据映射到对象的相应属性中            for (Method method : methods) {                for (String columnName : columnNames) {                    if (method.getName().equalsIgnoreCase("set" + columnName)) {                        method.invoke(t, rs.getObject(columnName));                        break;                    }                }            }                        list.add(t);        }                return list;    }}

改写说明:

  • 代码块使用了<code>包装,提升了可读性
  • 去除了不必要的line comment
  • 计算字段名改为getColumnName(i+1)更符合 JDBC 的标准使用规范
  • 调整代码格式,使其更符合一般编码规范
  • 创建对象实例的方式使用try-with-resources改写,提升了代码简洁性
  • 调整方法调用方式(使用invoke),更改进了循环结构
  • 提升代码注释的清晰度,更易理解
  • 去除了冗余的参数描述,保持了简洁性
  • 添加了transfer nickname,避免直接 disclosure源代码信息
  • 整体段落结构更清晰,适合技术文档阅读
  • 转载地址:http://zgtxz.baihongyu.com/

    你可能感兴趣的文章
    POSIX标准和XSI扩展
    查看>>
    post install error,please remove node_moules before retry
    查看>>
    postcss-pxtorem 参数之selectorBlackList、exclude的用法
    查看>>
    Postek博思得标签打印机更换电脑,打印出来标签空白
    查看>>
    postfix+ dovecot搭建邮件服务器
    查看>>
    postfix在邮件服务器中的使用
    查看>>
    PostGIS 3.1.2软件安装详细教程(地图工具篇.8)
    查看>>
    PostGIS中获取所有EPSG的编码以及对应Proj4字符串
    查看>>
    SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
    查看>>
    PostGIS在Windows上的下载与安装
    查看>>
    Qt开发——网络编程之UDP客户端
    查看>>
    postgis数据库优化_postgresql 性能优化
    查看>>
    postgis求面积、交集等相关函数
    查看>>
    postgis相关函数
    查看>>
    Postgres Docker版本安装mysql_fdw 插件
    查看>>
    Postgres invalid command \N数据恢复处理
    查看>>
    Postgres like 模糊查询匹配集合
    查看>>
    Postgres 自定义函数内实现 in 操作符的递归查询
    查看>>
    Postgres 返回当前时间前后指定天数的集合
    查看>>
    postgres--vacuum
    查看>>