src/org/nutz/dao/impl/sql/SqlTemplate.java
private Map<String, Object> paramProcess(Map<String, Object> params) {
        if (params == null || params.size() == 0)
            return null;
        Map<String, Object> newParams = new HashMap<String, Object>(params);
        for (Entry<String, Object> entry : params.entrySet()) {
            String paramName = entry.getKey();
            Object paramObj = entry.getValue();

            if (paramObj.getClass().isArray()) {
                inParamProcess(paramName, paramObj, newParams);
                newParams.remove(paramName);
            }

            if (paramObj instanceof Collection) {
                Collection<?> collection = (Collection<?>) paramObj;
                Object[] paramVals = Lang.collection2array(collection);
                inParamProcess(paramName, paramVals, newParams);
                newParams.remove(paramName);
            }

        }

        return newParams;
    }
private Map<String, Object> paramProcess(Map<String, Object> params) {
        if (params == null || params.size() == 0)
            return null;
        Map<String, Object> newParams = new HashMap<String, Object>(params);
        for (Entry<String, Object> entry : params.entrySet()) {
            String paramName = entry.getKey();
            Object paramObj = entry.getValue();

            if (paramObj.getClass().isArray()) {
                inParamProcess(paramName, paramObj, newParams);
                newParams.remove(paramName);
            }

            if (paramObj instanceof Collection) {
                Collection<?> collection = (Collection<?>) paramObj;
                Object[] paramVals = Lang.collection2array(collection);
                inParamProcess(paramName, paramVals, newParams);
                newParams.remove(paramName);
            }

        }

        return newParams;
    }
sql参数处理，在这里处理Array Collection类型参数，方便SQL IN 表达式的设置

@param params
参数map，无参数时，可为null

@return 包含处理IN表达式的sql