关于数据库查询后的java封装

关于数据库查询后的java封装

问题描述:

如果用hibernate的话,我们可以通过query.addEntity把查询后的数据直接封装成对象。那如果不用hibernate,查询后可以用什么简单方法来把查询后的结果集封装成对象呢?(做循环,一个个属性set就免了)
[b]问题补充:[/b]
就只有用一般的jdbc连
[b]问题补充:[/b]
可不可以写个类似自动封装的方法来实现这个效果呢?
[b]问题补充:[/b]
能不能说的具体点啊?

ResultSet有一个getgetMetaData()方法
[code="java"]
ResultSetMetaData rsmd = rs.getgetMetaData();
int c = rsmd.getColumnCount();
for (int i=1;i<c+ 1;i++){
rsmd.getColumnName(i);//获得字段名
//...这里后面就使用java的反射把给出的字段名赋值给对象的setXX的属性,如果自己不高兴些反射,就是用appache的beanutils来做,但是速度不如自己直接写的快
}
[/code]

上面给出了封装对象的思路,剩下的封装成集合应该不用多说了吧

看用还用什么框架了,如果用ibatis的话,也会自动封装成对象的,如果你用的是jdbc直接连的话,你就要自己set了

你不是要
问题补充:
可不可以写个类似自动封装的方法来实现这个效果呢?

http://commons.apache.org/dbutils/
http://commons.apache.org/beanutils/
这两个库提供的一些utils类就有了自动封装的方法,你只要去下载,然后看它文档一下就行了,
自己学习一下,很容易的,就几个utils类,调用它的方法就好了,它都封装好了,

英文看不太懂的话代码总能看得懂吧,再不行,google搜索一下这两个类库的用法就搞定了

没有自动封装的东西,只有自己手动写了