<% if(enableCache) { %> <% } %> <% if(baseResultMap) { %> <% /** 生成主键排在第一位 **/ %> <% for(field in table.fields) { %> <% if(field.keyFlag){ %> <% } %> <% } %> <% /** 生成公共字段 **/ %> <% for(field in table.commonFields) { %> <% } %> <% /** 生成普通字段 **/ %> <% for(field in table.fields) { %> <% if(!field.keyFlag) { %> <% } %> <% } %> <% } %> <% if(baseColumnList) { %> <% for(field in table.commonFields) { %> ${field.columnName}, <% } %> ${table.fieldNames} <% } %> SELECT a.* FROM ${table.name} a <% for(field in table.fields) { %> <% if(field.keyFlag) { %> <% /** 主键字段 **/ %> AND a.${field.name} = #{param.${field.propertyName}} <% } else if(field.name == logicDeleteFieldName) { %> <% /** 逻辑删除字段 **/ %> AND a.deleted = #{param.deleted} AND a.deleted = 0 <% } else if(field.name == 'create_time') { %> <% /** 创建时间字段 **/ %> AND a.create_time >= #{param.createTimeStart} AND a.create_time <= #{param.createTimeEnd} <% } else if(array.contain(cfg.paramExcludeFields, field.name)) { %> <% /** 排除的字段 **/ %> <% } else if(array.contain(cfg.paramEqType, field.propertyType)) { %> <% /** 使用EQ的字段 **/ %> AND a.${field.name} = #{param.${field.propertyName}} <% } else { %> <% /** 其它类型使用LIKE **/ %> AND a.${field.name} LIKE CONCAT('%', #{param.${field.propertyName}}, '%') <% } %> <% } %>