例如Statement执行的语句为 SELECT * from user; 那么除了用getString方法一个列一个列的获取 有没有什么方法可以一次获取到这一行 所有的数据。 或者说有没有什么办法可以获取到有几个列。 然后再循环获取也可以。
可以使用ResultSetMetaData:
ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
int cols = resultSetMetaData.getColumnCount();
HashMap<String, Object> hashMap = null;
while(rs.next()){
hashMap = new HashMap<String, Object>();
for (int i = 1; i <= cols; i++) {
hashMap.put(resultSetMetaData.getColumnLabel(i), rs.getObject(i));
}
result.add(hashMap);
}
hibernate 里封装好了直接返回list 。但是hibernate占用资源很可观。
好多都忘记了 。看看别人怎么说吧!
你可以用for循环然后getObject(),循环取出来,但是你设置进属性的时候还得一个个来,不然数据类型不一致肯定不行啊!