这里记录我在项目中写的一个小应用,用在了数据库的帮助类中,用于将查询的结果组装成list返回:不说了,看代码:
public List<Object> getList(String sql,Object[] params,Object obj){
ResultSet rs = null;
if(params == null){
rs = this.getRs(sql);
}else{
rs = this.getRs(sql, params);
}
List<Object> list = new ArrayList<Object>();
try {
while(rs.next()){
int i = 1;
Object inst = obj.getClass().newInstance();
Field[] fields = inst.getClass().getDeclaredFields();
for(Field field : fields){
String setStr = field.getName().substring(0, 1).toUpperCase();
String setMehtodName = "set"+setStr+field.getName().substring(1);
Method setMethod = obj.getClass().getMethod(setMehtodName, new Class[]{field.getType()});
setMethod.invoke(inst, new Object[]{rs.getString(i)});
i++;
}
list.add(inst);
}
} catch (SecurityException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
return list;
}
大概解释下:获得ResultSet后,将其封装成LIST集合,hibernate中可以直接获得,当然,我并没有看hibernate中是如何实现的,我这里只是我的一个实现,需要有一些限制条件。
1.获得bean对象就是这里的inst;
2.获得bean对象的所有field域,就是定义的那些字段;
3.构造每个字段的set方法名称;
4.将从Resultset中拿出来的结果set到Bean对象中
5.将bean对象放到List集合中
6.return List集合
限制条件:要保证Bean对象的顺序和写的查询语句查出的每个字段顺序一致,不然,就张冠李戴了!
分享到:
相关推荐
### Java反射机制深入理解 #### 一、反射机制概述 Java反射机制是一种强大的工具,它允许程序在运行时检查和操作任何类、方法、构造函数和字段等元素。这种能力对于构建灵活的应用程序和框架非常有用,特别是那些...
Java反射机制是Java编程语言中的一个重要特性,它允许程序在运行时动态地获取类的信息并进行操作。通过反射,开发者可以在程序执行时发现并访问类的字段(fields)、方法(methods)以及构造器(constructors),...
Java反射机制的应用十分广泛,尤其在以下几种情况中非常有用: - **框架和库**:许多框架和库都广泛使用反射机制来实现各种高级特性,例如依赖注入和代理模式。 - **运行时类型检查**:开发者可能需要根据运行时...
以下是对标题和描述中提及的Java反射知识点的详细解释: 1. **获取对象的属性**: 在Java中,通过反射可以获取对象的属性。在示例代码中,`getProperty`方法展示了如何做到这一点。首先,通过`owner.getClass()`...
"Java学习,一点就通,你还在等什么"这个标题暗示了通过深入学习Java,你可以快速掌握其核心概念并应用于实际项目。对于那些对Java感兴趣或者想要提升自己编程技能的人来说,这是一个鼓励和召唤。 描述中提到的“最...
本文档旨在帮助Java初学者理解和掌握反射机制的基本原理及应用场景。 #### 二、反射机制概述 反射的核心概念是在程序运行过程中,能够获取到已知类的信息并对其进行操作。具体来说,就是能够在运行时获得一个类的...
在Java编程中,反射是...以上是关于“JAVA-提高反射效率”这个主题的一些基本知识点,实际的内容可能会涵盖上述某一点或几点的深入讨论。为了深入了解和优化反射的使用,建议阅读相关文章、官方文档以及进行实践操作。
JAVA语言支持MVC架构,并且在许多JAVA框架中都有应用,例如Spring MVC,它利用JAVA的反射机制和依赖注入等高级特性,帮助开发者实现MVC架构。 综上所述,JAVA编程语言凭借其跨平台特性、面向对象的编程方式、强大的...
深入理解JVM(Java虚拟机)的内部工作原理,包括类加载器的工作流程、类反射机制以及垃圾回收机制,对于优化Java应用性能至关重要。同时,了解JVM是如何处理字节码验证、管理策略和权限,代码签名和数字签名等安全...
以上是Java技术500篇可能涉及的主要知识点,每一点都值得深入学习和实践,以提升你的Java编程能力。在实际开发中,还需要结合设计模式、最佳实践以及不断涌现的新技术和框架,如Spring Boot、MyBatis、Docker、...
"Java练习"和"Java学习资料"的标题和描述表明这是一个关于Java编程的学习资源,可能是包含代码示例、教程或者练习题目的项目。标签"java课程资源"进一步确认了这一点,暗示我们可能找到的是一个用于教学或自我提升的...
Java3D是Oracle公司开发的一种基于Java平台的三维图形编程库,它允许开发者创建复杂的3D场景,并在Java应用程序或Web应用中展示。这个IBM开发网的Java3D入门教程,结合了中文和英文资源,为初学者提供了一个全面的...
《JAVA解惑》这本书主要针对...以上是《JAVA解惑》一书中可能涉及的部分知识点,每一点都值得深入学习和实践。通过掌握这些内容,开发者可以更好地解决Java编程中的各种问题,提升编程技能,写出更高效、更可靠的代码。
这一点是 Java 相对于其他语言的一个显著优势之一。 7. **Applet 和 Servlet**: - Applet 是一种可以在网页中执行的小应用程序,它需要浏览器支持 Java 插件才能运行。Servlet 则是服务器端的技术,用于处理 ...
7. **反射机制**:Java反射API允许在运行时检查类、接口、字段和方法的信息,甚至动态调用方法。这在元编程和框架设计中非常有用。 8. **设计模式**:书中可能会涵盖常见的设计模式,如工厂模式、单例模式、装饰器...
【Java反射机制详解】 在Java编程语言中,反射是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法等元数据。在第16章中,我们将深入探讨Java类的加载、连接和初始化过程,以及反射的核心概念。 ...
"java-sample-3_java_"这个标题暗示我们这是一个关于Java编程的示例代码集合,可能包含了多个示例项目或代码片段,用于展示Java语言的不同特性和用法。描述中的"java sample code files"进一步确认了这一点,这可能...
对于企业级应用而言,这一点尤为重要,尤其是在Java EE(Java Platform, Enterprise Edition)框架下,部署环境的正确配置直接影响应用的稳定性和性能。 #### 二、Java的历史、现状与特点 **2.1 Java的历史沿革** ...
此外,笔记中可能包含了Java的反射机制,它是动态获取类信息并操作对象的关键技术。还有注解(Annotation),用于提供元数据,增强了代码的可读性和可维护性,例如Spring框架中的@Autowired和@Service等注解。 ...
7. **反射机制**:通过反射,可以在运行时动态获取类的信息并操作对象,这对于插件开发和框架设计非常有用。 接下来,关于**数据库连接**的实现,主要涉及以下内容: 1. **JDBC(Java Database Connectivity)**:...