利用反射,对查询的结果集自动组装成实体对象:
/**
* 利用反射对查询数据的自动组装成对象实体。
*/
static void read() {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = JdbcUtilsSingle.getInstance().getConnection();
String querySql = "select * from user where id = 1 ";
ps = conn.prepareStatement(querySql);
rs = ps.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
int count = rsd.getColumnCount();
String[] columns = new String[count];
for (int i = 1; i <= count; i++) {
String strColumn = rsd.getColumnName(i);
//把列名首字母转成大写
strColumn = strColumn.replaceFirst(strColumn.substring(0, 1),
strColumn.substring(0, 1).toUpperCase());
columns[i - 1] = strColumn;
}
User user = null;
if (rs.next()) {
user = new User();
for (int i = 0; i < columns.length; i++) {
String methodName = "set" + columns[i];
//获取实体对象直接实现方法(不包含从父类继承的)
Method[] methods = user.getClass().getDeclaredMethods();
for (Method method : methods) {
if (method.getName().equals(methodName)) {
//利用反射对实体对象的属性赋值
method.invoke(user, rs.getObject((i + 1))); break;
}
}
}
}
System.out.println(user);
} catch (Exception e) {
} finally {
JdbcUtilsSingle.getInstance().free(rs, ps, conn);
}
}
分享到:
相关推荐
使用反射和泛型,我们可以编写一个通用方法,接收`DataReader`和类型信息作为参数,然后逐行读取数据,利用反射实例化指定类型的对象并设置属性值。 示例代码可能如下: ```csharp public static T ...
总结起来,将Map转换为Java实体对象是Java开发中常见的需求,我们可以利用Core Java JDK 1.8的泛型和反射来实现这一功能。通过创建一个通用的工具类,我们可以简化代码并提高代码复用性。在使用过程中,需要注意处理...
在.NET框架中,数据库操作是常见的任务之一,而DBFrm项目则提供了一种利用反射机制和对象序列化来实现数据库内容的备份和还原的方法。本文将深入探讨这两个关键概念,以及它们如何协同工作以实现数据管理的目标。 ...
本主题聚焦于"C#+实体类反射+初阶",它涉及到如何利用C#的反射特性来自动化数据操作,以及如何结合XML进行数据存储。反射是.NET框架中的一个强大工具,它允许程序在运行时检查自身的行为,包括获取类型信息、创建...
这里我们讨论的是如何使用反射自动将接收到的数据封装到实体对象(bean对象)中。以下是对该方法的详细解释: 首先,我们要明白Java bean对象通常是一些具有属性(fields)和相应setter/getter方法的类,用于存储和...
“反射”其实就是利用程序集的元数据信息。 反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间。 1、假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly assembly = ...
本文将详细讲解如何利用反射机制动态获取对象的属性名称及其数据类型,以C#语言为例,结合ASP.NET环境进行阐述。 首先,我们需要创建一个实体类,例如`Student`,这个类包含了姓名(UserName)、年龄(Age)和地址...
在给定的“利用java反射将json字符串转成对象”的主题中,我们将深入探讨如何借助反射机制将JSON字符串转换为Java对象。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...
本篇文章将深入探讨如何利用反射在C#中动态创建对象。 1. **反射基础** 反射是.NET框架提供的一种特性,通过System.Reflection命名空间中的类来实现。主要类包括Assembly(程序集)、Type(类型)、...
对于后者,一种常见的做法是利用Java的反射机制来自动地将表单数据绑定到JavaBean对象上。 #### 反射简介 反射是Java提供的一种能够在运行时分析类的信息并操作类的成员(如方法、属性)的能力。通过反射,可以在...
本篇文章将深入探讨如何利用C#的反射机制来填充实体类,以及在三层结构中的应用。 首先,实体类是程序设计中用于表示业务数据的对象,通常在数据访问层(DAL)中使用。在C#中,我们可以创建具有属性的类来表示...
同时,反射还可以帮助我们自动填充对象的属性,例如,从数据库查询结果中获取数据,然后通过setter方法设置到实体对象中。 4. **生成SQL语句**:同样,解析XML中的信息,可以自动生成插入、更新、删除等SQL语句。这...
Java反射JavaBean对象自动生成插入、更新、删除、查询sql语句操作是指通过Java反射机制,依据提供的表名、POJO类型、数据对象自动生成sql语句的技术。这种技术具有很好的参考价值,对开发者有很大的帮助。 Java...
根据提供的文件信息,我们可以深入探讨如何使用Java编程语言来实现从数据库表中自动反射并生成实体类的功能。这种技术在实际开发中非常有用,尤其是在快速搭建项目基础结构时,能够大大减少手动编码的工作量。 ### ...
利用反射,我们可以动态地创建对象,这意味着在代码执行时,我们能够实例化未知类型的对象,这在处理插件系统、动态加载用户界面组件或根据配置文件创建对象时非常有用。 标题中提到的"利用反射动态创建对象",主要...
总结起来,"mysql自动生成实体类"是一种实用的开发辅助工具,它结合了MySQL数据库和Java反射技术,帮助开发者快速生成与数据库表结构相对应的实体类,便于在ORM框架中使用,提高了开发效率和代码的可维护性。
利用JAVA反射读取数据库表名自动生成对应实体类的操作 标题分析: 该标题主要介绍了利用JAVA反射机制,读取数据库表名,并自动生成对应的实体类的操作。这种操作可以自动根据表名生成实体类,具有很好的参考价值和...
反射和泛型是一种重要的解决途径。 此代码是一个生成泛型对象的类。 比如: Pool<Point> pool = new Pool(){}; Point p = pool.get(x, y); //在此构造Point对象 ... pool.put(p); 希望能帮助那些为查找泛型构造器、...
本篇文章将详细探讨如何在Objective-C中实现SQLite数据库数据与实体对象的自动绑定,类似于Java或C#中的反射机制。 首先,我们需要理解什么是实体绑定。在面向对象编程中,实体通常代表业务对象,如用户、订单等。...
通过反射,我们可以方便地将`DataRow`对象的数据转换为自定义的实体类。虽然反射带来便利,但需要注意其潜在的性能问题,并采取适当的优化措施。在实际开发中,理解并合理运用反射,能提升代码的灵活性和可维护性。