code: @Override
      public DataBinder process(ResultSet rset) throws Exception {
          try {
              if (rset.next()) {
                  ResultSetMetaData meta = rset.getMetaData();
                  int width = meta.getColumnCount();
                  for (int i = 1; i <= width; ++i) {
                      Object value = rset.getObject(i);
                      if (value != null) {
                          put(Strings.toLowerCamelCase(meta.getColumnLabel(i), '_'), value.toString());
                      }
                  }
              } else {
                  throw new NoSuchElementException("NoSuchRow");
              }
              return this;
          } finally {
              rset.close();
          }
      }
docs: Fills the data binder with columns in the current row of a result set.