`
TRAMP_ZZY
  • 浏览: 139845 次
社区版块
存档分类
最新评论

Java反射将Jdbc查询结果封装为对象

 
阅读更多
public class ORMTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

	public static Object getUser(String sql, Class clazz) throws Exception {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		Object obj = null;
		try {
			conn = JdbcUtils.getConnection();
			ps = conn.prepareStatement(sql);
			rs = ps.executeQuery();
			
			ResultSetMetaData rsmd = rs.getMetaData();
			int count = rsmd.getColumnCount();
			String[] colNames = new String[count];
			for (int i=1; i<=count; i++) {
				colNames[i-1] = rsmd.getColumnLabel(i);
			}
			
			Method[] ms = obj.getClass().getMethods();
			if (rs.next()) {
				obj = clazz.newInstance();
				for (int i=0; i<colNames.length; i++) {
					String colName = colNames[i];
					String methodName = "set" + colName;
					// Method method = user.getClass().getMethod(methodName, String.class);
					// method.invoke(user, rs.getObject(colName));
					for (Method m : ms) {
						if (m.getName().equals(methodName)) {
							m.invoke(obj, rs.getObject(colName));
						}
					}
				}
			}
			
			
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return obj;
	}
}
分享到:
评论

相关推荐

    java注解、java反射机制 jdbc 封装

    4. 结果集映射:将查询结果自动映射到Java对象,避免手动遍历`ResultSet`。 文件`annotation_orm`可能包含了实现这些功能的核心代码,如注解定义、反射处理逻辑以及JDBC操作的封装。通过学习这个案例,开发者可以...

    java反射封装jdbc全部方法

    本教程将深入讲解如何使用Java反射来封装JDBC方法,以实现查询、修改、添加和删除数据的操作,并将所有这些功能集成到一个方法中。 首先,我们需要了解JDBC的基本步骤:加载驱动、建立连接、创建Statement或...

    JAVA反射机制和JDBC和各种数据库的连接

    5. 处理结果集:`ResultSet`对象包含查询结果,可以遍历获取每一行数据。 6. 关闭资源:使用完后,应关闭`ResultSet`、`Statement`和`Connection`,防止资源泄露。 对于不同类型的数据库,如MySQL、Oracle、SQL ...

    j2ee09:jdbc03:jdbc的最后封装(用到了反射)

    "09"可能表示这是系列教程的第九部分,而"jdbc03"对应的就是上面提到的JDBC封装的第三阶段。"进行最后的封装"则可能是封装过程的总结或完成稿。 总的来说,这个主题展示了如何在J2EE环境中通过反射技术优化JDBC操作...

    反射技术将数据库的数据封装进对象中

    在标题“反射技术将数据库的数据封装进对象中”中,我们关注的是如何利用反射来从数据库获取数据并将其转化为Java对象。这通常涉及到Java的Java Database Connectivity (JDBC) API,它提供了与各种数据库交互的标准...

    jdbc连接池封装及ORM框架jdbc.rar

    结果集映射则是将查询结果自动转换为Java对象的过程,这通常涉及到对数据库结果集的遍历以及与Java对象属性的对应。 综上所述,这个压缩包中的内容涵盖了Java数据库编程的多个关键点,包括数据库连接池的使用、设计...

    面向切面封装的JDBC

    "面向切面封装的JDBC"就是将AOP的概念应用于数据库操作,以减少重复的、繁琐的JDBC模板代码,提高代码的可读性和可维护性。 在传统的JDBC编程中,我们需要手动完成打开数据库连接、创建Statement或...

    java 加载JDBC驱动程序

    加载JDBC驱动程序是Java应用程序访问数据库的第一步,这个过程涉及到Java的反射机制和Class.forName()方法。下面我们将深入探讨这一主题。 1. **JDBC驱动类型** JDBC驱动分为四种类型: - Type 1: JDBC-ODBC ...

    Java反射技术的一般应用

    在向学生讲解Class.forName()方法的使用时,有时需要扩展讲解为什么这样书写的原理,于是,扩展讲解Java反射技术可以查看被监视类的方法(构造方法和普通方法)、公有属性的功能,以达到封闭功能的效果。该例子使用...

    使用java的反射机制来模拟hibernater的jdbc操作

    根据条件动态构建SQL,执行查询并处理结果集,将结果转化为对象列表。 - **分页**:在查询时,添加LIMIT和OFFSET子句来实现分页,这两个值可以通过反射从方法参数中获取。 模拟Hibernate的JDBC操作虽然可以减少...

    泛型封装JDBC

    将泛型应用于JDBC封装,能够使代码更加灵活、高效且易于维护。下面我们将深入探讨如何利用泛型来封装JDBC,以及其在Oracle数据库操作中的应用。 1. **泛型的理解**: 泛型的主要作用是为容器类(如List、Map等)...

    java反射机制知识点

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查并操作类、接口、对象等的内部信息。这一机制的核心在于Java.lang.reflect包中的三个关键类:Class、Method和Field,它们分别代表类的信息、...

    java各种常用的工具类封装 源码

    比如,`JsonUtil` 可能封装了将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象的方法。 6. **JDBC**: Java Database Connectivity 是Java访问数据库的标准接口,`JdbcUtil` 类常用于封装数据库连接...

    java jdbc 反射 word学习文档

    6. **处理结果集**: 使用`ResultSet`对象遍历并处理查询结果。 7. **释放资源**: 在完成操作后,关闭`ResultSet`、`Statement`和`Connection`以释放资源。 #### 四、程序详解 ##### 注册驱动 ```java Class.for...

    Java反射机制在数据持久层轻量级ORM框架中的应用研究.pdf

    在实现Reflect-ORM框架的过程中,需要处理的关键问题包括如何动态地构建SQL语句、如何将查询结果映射到对象、以及如何处理事务控制等。例如,在构建SQL语句时,框架需要根据对象属性动态生成INSERT、UPDATE或DELETE...

    java复习题,jdbc,DAO模式,oracle复习题

    使用JDBC,开发者需要加载驱动、建立连接、创建Statement或PreparedStatement对象、执行SQL语句、处理结果集并关闭资源。在复习JDBC时,会涉及到连接池的使用,事务管理,以及预编译SQL语句以提高性能。 DAO模式是...

    基于泛型反射的数据层封装+MSSQLJDBC3.0驱动

    总结来说,这个案例展示了如何结合Java的泛型和反射机制来实现高效、灵活的数据层封装,同时利用MSSQL JDBC 3.0驱动来与SQL Server数据库进行通信。这样的设计有助于简化数据库操作,提高代码的可扩展性和维护性,...

    Java_JDBC学习教程 由浅入深.doc

    - 可以使用反射等技术将查询结果转换为 Java 对象,提高开发效率。 #### 十五、近期推出 - 介绍了即将推出的与 JDBC 相关的新特性和工具。 - 包括数据库连接池的进一步优化、更多封装技术等。 通过上述知识点的...

    Java数据库操作封装类

    这些方法可能会基于反射或者动态代理技术,自动将对象的属性映射到数据库表的列上。 在"Java Database Utils"这个标签下,我们可以理解到这个封装类主要服务于Java环境下的数据库操作,提供实用工具函数,使得...

    JDBC_Java语言与数据库互联的接口

    - **ResultSet接口**:表示查询结果集,可以遍历结果集获取数据。 ##### 2. 实例演示 在实际应用中,通过JDBC实现网站留言簿功能是一种常见的应用场景。下面是一个简单的示例,展示了如何使用JDBC将留言信息写入...

Global site tag (gtag.js) - Google Analytics