code: public List extract(ResultSet rs) throws Exception {
  		ResultSetMetaData meta = rs.getMetaData();
  		int count = meta.getColumnCount();
  		List ret = new ArrayList();
  		while (rs.next()) {
  			Map map = new LinkedHashMap(count);
  			for (int i = 1; i <= count; i++) {
  				map.put(meta.getColumnName(i), rs.getObject(i));
  			}
  			ret.add(map);
  		}
  		return ret;
  	}
docs: return a List in the List, every object is a map, by database column
  name, we can get the its result from map
  
  
  @param rs
  ResultSet
  @return List
  @throws Exception