package ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName}; import java.util.*; import ${PageResultClassName}; import ${QueryWrapperClassName}; import ${BaseMapperClassName}; import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO; import org.apache.ibatis.annotations.Mapper; import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*; ## 字段模板 #macro(listCondition) #foreach ($column in $columns) #if (${column.listOperation}) #set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写 #if (${column.listOperationCondition} == "=")##情况一,= 的时候 .eqIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) #end #if (${column.listOperationCondition} == "!=")##情况二,!= 的时候 .neIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) #end #if (${column.listOperationCondition} == ">")##情况三,> 的时候 .gtIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) #end #if (${column.listOperationCondition} == ">=")##情况四,>= 的时候 .geIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) #end #if (${column.listOperationCondition} == "<")##情况五,< 的时候 .ltIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) #end #if (${column.listOperationCondition} == "<=")##情况五,<= 的时候 .leIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) #end #if (${column.listOperationCondition} == "LIKE")##情况七,Like 的时候 .likeIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) #end #if (${column.listOperationCondition} == "BETWEEN")##情况八,Between 的时候 .betweenIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) #end #end #end #end /** * ${table.classComment} Mapper * * @author ${table.author} */ @Mapper public interface ${table.className}Mapper extends BaseMapperX<${table.className}DO> { ## 特殊:树表专属逻辑(树不需要分页接口) #if ( $table.templateType != 2 ) default PageResult<${table.className}DO> selectPage(${sceneEnum.prefixClass}${table.className}PageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX<${table.className}DO>() #listCondition() .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序 } #else default List<${table.className}DO> selectList(${sceneEnum.prefixClass}${table.className}ListReqVO reqVO) { return selectList(new LambdaQueryWrapperX<${table.className}DO>() #listCondition() .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序 } #end ## 特殊:树表专属逻辑 #if ( $table.templateType == 2 ) #set ($TreeParentJavaField = $treeParentColumn.javaField.substring(0,1).toUpperCase() + ${treeParentColumn.javaField.substring(1)})##首字母大写 #set ($TreeNameJavaField = $treeNameColumn.javaField.substring(0,1).toUpperCase() + ${treeNameColumn.javaField.substring(1)})##首字母大写 default ${table.className}DO selectBy${TreeParentJavaField}And${TreeNameJavaField}(Long ${treeParentColumn.javaField}, String ${treeNameColumn.javaField}) { return selectOne(${table.className}DO::get${TreeParentJavaField}, ${treeParentColumn.javaField}, ${table.className}DO::get${TreeNameJavaField}, ${treeNameColumn.javaField}); } default Long selectCountBy${TreeParentJavaField}(${treeParentColumn.javaType} ${treeParentColumn.javaField}) { return selectCount(${table.className}DO::get${TreeParentJavaField}, ${treeParentColumn.javaField}); } #end }