    /**
     * 获得本实体列表集合
     * @return 分页数据
     */
    public FastPage<${entityName}> getList(int page,int pageSize,Map<String,Object> where, Map<String, Object> sort) {

        ${linkColumns}

        StringBuilder sqlStr = new StringBuilder("${selectSql2} where 1=1 ");

        List<Object> values = new ArrayList<>();

        if (where != null) {
            for (Entry<String, Object> stringObjectEntry : where.entrySet()) {
                String key = stringObjectEntry.getKey();
                if (key.startsWith("^")) {
                    continue;
                }
                Object value = where.get(key);
                key = key.split("@")[0];

                ${whereSearchKeyCode}

                String prefix = "t.";
                if (key.contains("__")) {
                    String[] keyArray = key.split("__");
                    prefix = keyArray[0] + ".";
                    key = keyArray[1];
                }


                String[] compareChar = new String[]{">=","<=",">","<","=","!="};
                if(value==null){
                    continue;
                }
                boolean hasCompare = false;
                for (String compare : compareChar) {
                    if (value.toString().startsWith(compare)) {
                        sqlStr.append(" and ").append(prefix).append(key).append(" ").append(compare).append(" ? ");
                        values.add(value.toString().replace(compare, ""));
                        hasCompare = true;
                        break;
                    }
                }
                if (hasCompare) {
                     continue;
                }
                if (isNumberColumn(key)) {
                   sqlStr.append(" and ").append(prefix).append(key).append(" = ? ");
                   values.add(value);
                } else {
                   sqlStr.append(" and ").append(prefix).append(key).append(" like ? ");
                   values.add("%" + value + "%");
                }
            }
        }

        if (sort != null) {
            List<String> sortKeys = new ArrayList<>();
            for (Entry<String, Object> stringObjectEntry : sort.entrySet()) {
                String key = stringObjectEntry.getKey();
                if (key.startsWith("^")) {
                    continue;
                }
                String prefix = "t.";
                if (key.contains("__")) {
                    prefix = key.split("__")[0] + ".";
                }
                sortKeys.add(prefix + key + " " + stringObjectEntry.getValue());
            }
            if (sortKeys.size() > 0) {
                sqlStr.append(" order by ").append(FastStringUtils.join(sortKeys, ","));
            }
        }

        FastPage<${entityName}> pageList = selectBySql(page,pageSize,sqlStr.toString(), values);
        for (${entityName} entity : pageList.getList()) {
            ${linkAlias}
        }
        return pageList;
    }


===============

                if (key.equals("__searchKey")) {
                    String[] searchFields = new String[]{${guessSearchFields}};
                    List<String> orWhere = new ArrayList<>();
                    for (String searchField : searchFields) {
                        orWhere.add(searchField + " like ? ");
                        values.add("%" + value + "%");
                    }
                    sqlStr.append(" and ").append(" ( ").append(FastStringUtils.join(orWhere, " or ")).append(" ) ");
                    continue;
                }
