/** * 构造子查询sql * * @param table * @param refKey * @param ids * @param ordersMap * @param fieldName * @return */ private String buildChildQuerySql( String table, String refKey, StringBuffer ids, Map<String, Orders> ordersMap, String fieldName) { StringBuffer childSql = new StringBuffer(); childSql .append("select * from ") .append(NameConverter.toTableName(Constants.DEFAULT_TABLE_PREFIX, table)) .append(" where ") .append(NameConverter.toColumnName(Constants.DEFAULT_COLUMN_PREFIX, refKey)) .append(" in ("); childSql.append(ids); childSql.append(")"); Orders orders = ordersMap.get(fieldName); if (orders != null && orders.value().length > 0) { childSql.append(" order by "); for (Order order : orders.value()) { childSql .append(NameConverter.toColumnName(Constants.DEFAULT_COLUMN_PREFIX, order.key())) .append(" ") .append(order.order()) .append(","); } childSql.deleteCharAt(childSql.length() - 1); } return childSql.toString(); }