refactor: mapper.xml 模板完善

This commit is contained in:
ray
2024-07-30 18:20:35 +08:00
parent d5077a395a
commit 3356a63092

View File

@@ -5,25 +5,53 @@
<!-- 获取${businessName}分页列表 --> <!-- 获取${businessName}分页列表 -->
<select id="get${entityName}Page" resultType="${package}.model.vo.${entityName}VO"> <select id="get${entityName}Page" resultType="${package}.model.vo.${entityName}VO">
SELECT SELECT
* #if($fieldConfigs)
#set ($fields = [])
#foreach($fieldConfig in ${fieldConfigs})
#if($fieldConfig.isShowInList)
#set ($discard = $fields.add(${fieldConfig.columnName}))
#end
#end
#foreach($field in $fields)
${field}#if($foreach.hasNext),#end
#end
#end
FROM FROM
${tableName} ${tableName}
<where> <where>
is_deleted = 0 #if($fieldConfigs)
<if test='queryParams.keywords!=null and queryParams.keywords.trim() neq ""'> #foreach($fieldConfig in ${fieldConfigs})
AND ( #if($fieldConfig.isShowInQuery)
name LIKE CONCAT('%',#{queryParams.keywords},'%') <if test="queryParams.${fieldConfig.fieldName} != null">
) #set ($queryType = ${fieldConfig.queryType})
</if> #if($queryType == "EQ")
<if test="queryParams.startTime != null"> AND ${fieldConfig.columnName} = #{queryParams.${fieldConfig.fieldName}}
AND create_time &gt;= #{queryParams.startTime} #elseif($queryType == "LIKE")
</if> AND ${fieldConfig.columnName} LIKE CONCAT('%', #{queryParams.${fieldConfig.fieldName}}, '%')
<if test="queryParams.endTime != null"> #elseif($queryType == "IN")
AND create_time &lt;= #{queryParams.endTime} AND ${fieldConfig.columnName} IN
#elseif($queryType == "BETWEEN")
AND ${fieldConfig.columnName} BETWEEN #{queryParams.${fieldConfig.fieldName}Start} AND #{queryParams.${fieldConfig.fieldName}End}
#elseif($queryType == "GT")
AND ${fieldConfig.columnName} > #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "GE")
AND ${fieldConfig.columnName} >= #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "LT")
AND ${fieldConfig.columnName} &lt; #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "LE")
AND ${fieldConfig.columnName} &lt;= #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "NE")
AND ${fieldConfig.columnName} != #{queryParams.${fieldConfig.fieldName}}
#elseif($queryType == "LIKE_LEFT")
AND ${fieldConfig.columnName} LIKE CONCAT('%', #{queryParams.${fieldConfig.fieldName}})
#elseif($queryType == "LIKE_RIGHT")
AND ${fieldConfig.columnName} LIKE CONCAT(#{queryParams.${fieldConfig.fieldName}}, '%')
#end
</if> </if>
#end
#end
#end
</where> </where>
ORDER BY
create_time DESC
</select> </select>
</mapper> </mapper>