Java反射(Reflection)机制与JDBC

Hibernate,地球人都知道,不知道?哦,那不是学Java的,是学Java的?哦,那才刚刚开始学。
学很久了?哦,那就是做的项目太少了。做过好几个项目了?哦,是不是一直在用最原始的JDBC和数据库交互。

 

写Java代码日子不少了,可感觉Java还不是练的很好,前段时间,有人问对JDBC熟悉吗?回答还可以,挺简单的。
接着问,说说使用JDBC的几个步骤。顿时有点发闷,还真不知道怎么回答,看来对JDBC的了解还是不够,天天用
封装好的东西,基础的东西都忘记了,或者说本身就不好。

今天正好不是很忙,打算把以前学的东西巩固下,重新消化消化。

 

目的:
编写一个查询的方法,为了更好的重用它,要求输入一个类名、查询语句后,能够返回这个类的对象列表。
这就像现在很流行的组件——Hibernate一样,不过不需要向它那么强的,今天要做的只是很小的一部分,
仅仅是取出数据,然后把数据通过Java反射机制,动态的保存到指定类的对象里。
从而达到练习Java反射和JDBC,加深对他们的印象。

 

Java反射
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,
并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。

Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。
例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。

Java Reflection 例子

更多有关Java反射的介绍,请参考:http://dev.csdn.net/article/49/49876.shtm

 

Java Reflection在实际应用中的用法
1、JDBC通常的用法

 

 

 

 2、把JDBC更高级的应用,简单封装

 

以上是借助Java的反射机制,动态的把数据保存到了指定类的对象里面。
用户只要调用find(String className, String sql)方法,传入类名和查询语句即可返回一个对象列表,这样更方便的使用返回的数据了。

 

附录:

创建表

CREATE TABLE `test`.`students` (
  `id` INTEGER UNSIGNED NOT NULL,
  `name` VARCHAR(45) NOT NULL,
  `age` INTEGER,
  `sex` VARCHAR(1),
  `phone` VARCHAR(20),
  PRIMARY KEY (`id`)
)
ENGINE = InnoDB;

 

插入测试数据

insert into students (id, name, age, sex, phone) values(1, 'liuhongjun', 25, 'M', 13500000000);
insert into students (id, name, age, sex, phone) values(2, 'pandeyou', 28, 'M', 13511111111);

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值