コード例 #1
0
  // <editor-fold defaultstate="collapsed" desc="SQL LIST">
  public SqlUnit getListSqlUnit(CrudModel cp, String xalias) {
    String alias = cp.getAlias();
    if (alias == null || alias.trim().length() == 0) alias = xalias;
    alias = alias.replaceAll("/", "_");

    List<CrudField> primKeys = new ArrayList();
    List paramNames = new ArrayList();
    StringBuffer sb = new StringBuffer();
    sb.append("SELECT ${columns} FROM (");
    sb.append("SELECT ");
    boolean firstPass = true;
    for (CrudModel.CrudField cf : cp.getFields()) {
      if (firstPass) firstPass = false;
      else {
        sb.append(",");
      }
      if (!cf.isLinked()) sb.append(escapeField(cp.getTableName()) + ".");
      sb.append(escapeField(cf.getFieldName()) + " AS " + cf.getName());
    }
    sb.append(" FROM " + escapeField(cp.getTableName()));
    if (cp.getLinkTable() != null) sb.append(escapeField(cp.getLinkTable()));
    sb.append(" ) " + alias);
    sb.append(" ${condition}");

    String stmt = sb.toString();
    return new SqlUnit(stmt, paramNames);
  }