mapper.vm 3.28 KB
Newer Older
lanbaoming's avatar
lanbaoming committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
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;
    }
}