之前一直用的hibernate,现在由于sql复杂所以不得不用jdbc了,但有几个问题!
我用jdbc能否查询除了结果集然后将他们的属性装载入一个对象?
就是比如用hibernate时可以query.list查询出一个结果集list,然后我可以在hql的头部new com.....我可以new一个对象,然后每一个list里的值就是我new出来的对象了,那用jdbc能不能做到呢?
我用jdbc能否查询除了结果集然后将他们的属性装载入一个对象?
就是比如用hibernate时可以query.list查询出一个结果集list,然后我可以在hql的头部new com.....我可以new一个对象,然后每一个list里的值就是我new出来的对象了,那用jdbc能不能做到呢?
对象 obj=null;
遍历结果集{
obj=new 对象();
obj.set属性(从结果集中取值)
list.add(obj);
}
可能需要你自己写部分代码
ob.setXXX(rs.getXXX());
list.add(ob);
}
while(rs.next()){
Test test=new Test();
test.xxx=rs.getXxx(1);
test.xxx=rs.getXxx(2);
...
}这样就把查询到的结果封装到了Test中了,如果有多条记录的话,可以再把test一个个装到ArrayList中。
其实JDBC比hibernate还灵活。
只是要自己封装代码
而hibernate只是已经封装好了的。
verifyParameters();
Map namedParams = getNamedParams();
before();
try {
return getSession().list(
expandParameterLists(namedParams),
getQueryParameters(namedParams)
);
}
finally {
after();
}
}session通过createQuery得到一个query对象,Query对象有个实现类,就是QueryImpl,它调用list方法得到最后的list。简单流程就是这样,如果想详细分析还得把所有代码关联起来。
http://download.csdn.net/source/1710020这个是下载地址。
参阅hibernate的SQLQuery用法
其实JDBC比hibernate还灵活。
只是要自己封装代码
而hibernate只是已经封装好了的。