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 cn.iocoder.yudao.framework.mybatis.core.vo.PageVO; import org.apache.ibatis.annotations.Mapper; import ${basePackage}.module.${table.moduleName}.vo.${table.businessName}.*; ## 字段模板 #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}, vo.get${JavaField}()) #end #if (${column.listOperationCondition} == "!=")##情况二,!= 的时候 .neIfPresent(${table.className}DO::get${JavaField}, vo.get${JavaField}()) #end #if (${column.listOperationCondition} == ">")##情况三,> 的时候 .gtIfPresent(${table.className}DO::get${JavaField}, vo.get${JavaField}()) #end #if (${column.listOperationCondition} == ">=")##情况四,>= 的时候 .geIfPresent(${table.className}DO::get${JavaField}, vo.get${JavaField}()) #end #if (${column.listOperationCondition} == "<")##情况五,< 的时候 .ltIfPresent(${table.className}DO::get${JavaField}, vo.get${JavaField}()) #end #if (${column.listOperationCondition} == "<=")##情况五,<= 的时候 .leIfPresent(${table.className}DO::get${JavaField}, vo.get${JavaField}()) #end #if (${column.listOperationCondition} == "LIKE")##情况七,Like 的时候 .likeIfPresent(${table.className}DO::get${JavaField}, vo.get${JavaField}()) #end #if (${column.listOperationCondition} == "BETWEEN")##情况八,Between 的时候 .betweenIfPresent(${table.className}DO::get${JavaField}, vo.getBegin${JavaField}(), vo.getEnd${JavaField}()) #end #end #end #end /** * ${table.classComment} Mapper * @author ${table.author} */ @Mapper public interface ${table.className}Mapper extends AbstractMapper<${table.className}DO> { @Override default PageResult<${table.className}DO> selectPage(PageVO page, Object object) { if (object instanceof ${sceneEnum.prefixClass}${table.className}QueryVO) { ${sceneEnum.prefixClass}${table.className}QueryVO vo = (${sceneEnum.prefixClass}${table.className}QueryVO)object; return selectPage(page, new LambdaQuery<${table.className}DO>() #listCondition() .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序 } return null; } @Override default List<${table.className}DO> selectList(Object object) { if (object instanceof ${sceneEnum.prefixClass}${table.className}QueryVO) { ${sceneEnum.prefixClass}${table.className}QueryVO vo = (${sceneEnum.prefixClass}${table.className}QueryVO)object; return selectList(new LambdaQuery<${table.className}DO>() #listCondition() .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序 } return null; } }