我正在嘗試List<Map<String, Object>>從對 oracle 數(shù)據(jù)庫的請求進行排序。我收到的格式是這樣的63: "Preasignación"401: "Categorización de posiciones RPV"509: "Genérica"532: "Baja de conservación de número"537: "Pooles ADSL RIMA"660: "Activación"886: "CENTREX"905: "Conservación de número"920: "Suspensión y rehabilitación"955: "STB, AABB, PBX e ISPBX"如您所見,它們按數(shù)字排序,但我想按“字母順序”按值對它們進行排序。我該怎么做?請盡量不要對西班牙代碼感到害怕:) 這是繼承的代碼。這是我的代碼。public ArrayList<String> ObtenerIdsTiposOrdenPorPerfilLdap(String perfiles) { String query = ""; ArrayList<String> tipos = new ArrayList<String>(); try { query = " SELECT ID_PARAMETRO FROM PARAMETRO WHERE EXISTS( " + " SELECT DISTINCT(ID_TIPO_ORDEN) FROM REL_PERF_LDAP_PERF_TP_ORD_SIS " + " WHERE ID_PERFIL_LDAP IN (" + perfiles + ") " + " AND ID_TIPO_ORDEN = -1) " + " AND ID_TIPO_PARAMETRO = " + Parametro.ID_TIPO_PARAMETRO_TIPO_ORDEN + " UNION " + " SELECT ID_PARAMETRO FROM PARAMETRO WHERE ID_PARAMETRO IN ( " + " SELECT DISTINCT(ID_TIPO_ORDEN) FROM REL_PERF_LDAP_PERF_TP_ORD_SIS " + " WHERE ID_PERFIL_LDAP IN (" + perfiles + ")) " + " AND ID_TIPO_PARAMETRO = " + Parametro.ID_TIPO_PARAMETRO_TIPO_ORDEN + " ORDER BY ID_PARAMETRO "; List<Map<String, Object>> result = jdbcTemplate.queryForList(query); for (Map<String, Object> map : result) { tipos.add(String.valueOf(map.get("ID_PARAMETRO"))); } } catch (Exception e) { log.error(e.getMessage()); } finally { query = null; } return tipos;}
1 回答

收到一只叮咚
TA貢獻1821條經(jīng)驗 獲得超5個贊
如果PARAMETRO
("preasignación", ...)的文本描述實際上是PARAMETRO
其本身(讓我們稱其為該列TXT_PARAMETRO
),那么讓數(shù)據(jù)庫進行排序就足夠了:刪除
" ORDER BY ID_PARAMETRO ";
并添加
" ORDER BY TXT_PARAMETRO ";
反而。
添加回答
舉報
0/150
提交
取消