利用反射,实现数据库查询返回的ResultSet向提供的类中封装数据,前提是查询出来的字段和被封装对象中的字段一一对应。

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.sql.Clob;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;/*** @author xg* @version V1.0* @date 2022/5/24 0:10*///TODO 通过反射自动封装对象
public class ResultSetUtil {public static <T> ArrayList<T> packed(ResultSet resultSet, Class<T> tClass) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, SQLException {ArrayList<T> arrayList = new ArrayList<>();Field[] declaredFields = tClass.getDeclaredFields();while(resultSet.next()){T t = tClass.getDeclaredConstructor().newInstance();int i = 1;for (Field declaredField : declaredFields) {declaredField.setAccessible(true);Object object = resultSet.getObject(i++);declaredField.set(t,object);}arrayList.add(t);}return  arrayList;}
}

ResultSet工具类相关推荐

  1. java list resultset_Java工具类 通过ResultSet对象返回对应的实体List集合

    自从学了JDBC用多了像一下这种代码: ResultSet rs = this.executeQuery(sql, objs); List list = new Array(); if(rs.next ...

  2. JDBC实例--工具类升级,使用Apache DBCP连接池重构DBUtility,让连接数据库更有效,更安全...

    直接使用JDBC访问数据库时,需要避免以下隐患: 1. 每一次数据操作请求都需要建立数据库连接.打开连接.存取数据和关闭连接等步骤.而建立和打开数据库连接是一件既耗资源又费时的过程,如果频繁发生这种数 ...

  3. java jdbc工具类抽取_JavaWeb入门(三):JDBC工具类的抽取

    一.通过上篇文章,我们已经可以使用JDBC对数据库中的表进行增删改查啦(JDBC的基本使用:https://www.cnblogs.com/Infancy/p/12499806.html),我们对上篇 ...

  4. DbUtils工具类使用

    2019独角兽企业重金招聘Python工程师标准>>> DbUtils工具类使用 创建数据库 CREATE TABLE `student` (`userId` int(11) NOT ...

  5. java jdbc 工具_实现JDBC的工具类

    package mysql; /* * 实现JDBC的工具类 * 定义方法,直接返回数据库的连接对象 */ import java.sql.Connection; import java.sql.Dr ...

  6. MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. 项目经验分享——Java常用工具类集合 转

    http://blog.csdn.net/xyw591238/article/details/51678525 写在前面 本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数据库连接 ...

  8. Redis使用及工具类

    原地址:https://www.cnblogs.com/wyy123/p/6078593.html [学会安装redis] 从redis.io下载最新版redis-X.Y.Z.tar.gz后解压,然后 ...

  9. 连接数据库时常用的工具类(一)-------C3P0XmlUtils

    工具类一:C3P0XmlUtils 使用前应先把c3p0-config.xml 文件导入到Src的根目录下,如下图 下面为C3P0XmlUtils工具类: package cn.kgc.c3p0_xm ...

最新文章

  1. VS2012代码提示快捷键
  2. 年轻人的第一块金牌:我是如何成为 Kaggle 全网第一的
  3. linux下inotify的使用
  4. 云计算将成为媒体融合发展与数字化变革的加速剂
  5. win10使用python的strftime有错误_17个常见的Python运行时错误
  6. HTML5中aside标签的两种使用方法
  7. 新手第四课-PaddlePaddle快速入门
  8. Coloring Dominoes
  9. CRMEB系统使用协议
  10. org.apache.commons.io——FileUtils学习笔记
  11. java 内部类私有成员 能访问,为什么外部Java类可以访问内部类私有成员?
  12. java class _Java Class文件详解
  13. matlab的knn均值滤波,中值滤波与均值滤波介绍.ppt
  14. linux如何进入opt目录,Linux 程序安装目录 /opt 目录和 /usr/local 目录
  15. 深度:ATM互联网巨头加紧入局的中老年线上市场,你是选择流量收割还是内容为王?
  16. java使用pdfbox将PDF转化为图片
  17. 黑客如何用线程注射技术隐藏自己的病毒
  18. MetaMask10.6.1点击切换本地网络LocalHost:8545没反应
  19. android配置参数详解,安卓手机CPU与GPU等配置参数含义详解【详细介绍】
  20. echarts上加横线标线_Echarts地图添加引导线效果(labelLine)

热门文章

  1. 微分中值定理技巧,微分方程
  2. 关于YOLOV4之yolo_training部份的理解
  3. 微模块数据中心减少数据中心压力
  4. Tomcat端口设置
  5. Scope与C#提取器(Scope)
  6. 【算法讲14:拉格朗日插值】拉格朗日插值入门 与 拉格朗日插值差分法
  7. 区块链随想录——为啥很多做技术的人,都没有发财?
  8. 数据仓库 DataWareHouse
  9. 2016CDA杯大数据竞赛排行榜出炉 人大统计学院摘得桂冠!
  10. 华为防火墙对ospf的处理