我正在尝试List<Map<String, Object>>从对 oracle 数据库的请求进行排序。我收到的格式是这样的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"如您所见,它们按数字排序,但我想按“字母顺序”按值对它们进行排序。我该怎么做?请尽量不要对西班牙代码感到害怕:) 这是继承的代码。这是我的代码。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条经验 获得超4个赞
如果PARAMETRO
("preasignación", ...)的文本描述实际上是PARAMETRO
其本身(让我们称其为该列TXT_PARAMETRO
),那么让数据库进行排序就足够了:删除
" ORDER BY ID_PARAMETRO ";
并添加
" ORDER BY TXT_PARAMETRO ";
反而。
添加回答
举报
0/150
提交
取消