mapper_sub.vm 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #set ($subTable = $subTables.get($subIndex))##当前表
  2. #set ($subColumns = $subJoinColumnsList.get($subIndex))##当前字段数组
  3. #set ($subJoinColumn = $subJoinColumns.get($subIndex))##当前 join 字段
  4. #set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写
  5. package ${basePackage}.module.${subTable.moduleName}.dal.mysql.${subTable.businessName};
  6. import java.util.*;
  7. import ${PageResultClassName};
  8. import ${PageParamClassName};
  9. import ${QueryWrapperClassName};
  10. import ${BaseMapperClassName};
  11. import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO;
  12. import org.apache.ibatis.annotations.Mapper;
  13. /**
  14. * ${subTable.classComment} Mapper
  15. *
  16. * @author ${subTable.author}
  17. */
  18. @Mapper
  19. public interface ${subTable.className}Mapper extends BaseMapperX<${subTable.className}DO> {
  20. ## 情况一:MASTER_ERP 时,需要分查询页子表
  21. #if ( $table.templateType == 11 )
  22. default PageResult<${subTable.className}DO> selectPage(PageParam reqVO, ${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
  23. return selectPage(reqVO, new LambdaQueryWrapperX<${subTable.className}DO>()
  24. .eq(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField})
  25. .orderByDesc(${subTable.className}DO::getId));## 大多数情况下,id 倒序
  26. }
  27. ## 主表与子表是一对一时
  28. #if (!$subTable.subJoinMany)
  29. default ${subTable.className}DO selectBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
  30. return selectOne(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField});
  31. }
  32. #end
  33. ## 情况二:非 MASTER_ERP 时,需要列表查询子表
  34. #else
  35. #if ( $subTable.subJoinMany)
  36. default List<${subTable.className}DO> selectListBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
  37. return selectList(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField});
  38. }
  39. #else
  40. default ${subTable.className}DO selectBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
  41. return selectOne(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField});
  42. }
  43. #end
  44. #end
  45. default int deleteBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
  46. return delete(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField});
  47. }
  48. }