code: public <T> List<T> queryForList(String sql,
                                      Map<String, Object> vars,
                                      Map<String, Object> params,
                                      final Class<T> classOfT) {
          Sql sqlObj = createSqlObj(sql, params);
  
          sqlObj.setCallback(new SqlCallback() {
              public Object invoke(Connection conn, ResultSet rs, Sql sql) throws SQLException {
                  List<T> list = new ArrayList<T>();
                  while (rs.next()) {
                      T result = Castors.me().castTo(rs.getObject(1), classOfT);
                      list.add(result);
                  }
                  return list;
              }
          });
  
          execute(sqlObj, vars, params);
  
          return sqlObj.getList(classOfT);
      }
docs: 执行一个SQL查询操作，结果为一组对象。
  
  @param sql
  包含变量占位符的SQL
  @param vars
  变量map，无参数时，可为null
  @param params
  参数map，无参数时，可为null
  @param classOfT
  对象类型
  
  @return 对象列表，无查询结果时返回长度为0的List对象