mapper.vm 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName};
  2. import java.util.*;
  3. import ${PageResultClassName};
  4. import ${QueryWrapperClassName};
  5. import ${BaseMapperClassName};
  6. import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
  7. import org.apache.ibatis.annotations.Mapper;
  8. import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
  9. ## 字段模板
  10. #macro(listCondition)
  11. #foreach ($column in $columns)
  12. #if (${column.listOperation})
  13. #set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写
  14. #if (${column.listOperationCondition} == "=")##情况一,= 的时候
  15. .eqIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
  16. #end
  17. #if (${column.listOperationCondition} == "!=")##情况二,!= 的时候
  18. .neIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
  19. #end
  20. #if (${column.listOperationCondition} == ">")##情况三,> 的时候
  21. .gtIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
  22. #end
  23. #if (${column.listOperationCondition} == ">=")##情况四,>= 的时候
  24. .geIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
  25. #end
  26. #if (${column.listOperationCondition} == "<")##情况五,< 的时候
  27. .ltIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
  28. #end
  29. #if (${column.listOperationCondition} == "<=")##情况五,<= 的时候
  30. .leIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
  31. #end
  32. #if (${column.listOperationCondition} == "LIKE")##情况七,Like 的时候
  33. .likeIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
  34. #end
  35. #if (${column.listOperationCondition} == "BETWEEN")##情况八,Between 的时候
  36. .betweenIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
  37. #end
  38. #end
  39. #end
  40. #end
  41. /**
  42. * ${table.classComment} Mapper
  43. *
  44. * @author ${table.author}
  45. */
  46. @Mapper
  47. public interface ${table.className}Mapper extends BaseMapperX<${table.className}DO> {
  48. ## 特殊:树表专属逻辑(树不需要分页接口)
  49. #if ( $table.templateType != 2 )
  50. default PageResult<${table.className}DO> selectPage(${sceneEnum.prefixClass}${table.className}PageReqVO reqVO) {
  51. return selectPage(reqVO, new LambdaQueryWrapperX<${table.className}DO>()
  52. #listCondition()
  53. .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序
  54. }
  55. #else
  56. default List<${table.className}DO> selectList(${sceneEnum.prefixClass}${table.className}ListReqVO reqVO) {
  57. return selectList(new LambdaQueryWrapperX<${table.className}DO>()
  58. #listCondition()
  59. .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序
  60. }
  61. #end
  62. ## 特殊:树表专属逻辑
  63. #if ( $table.templateType == 2 )
  64. #set ($TreeParentJavaField = $treeParentColumn.javaField.substring(0,1).toUpperCase() + ${treeParentColumn.javaField.substring(1)})##首字母大写
  65. #set ($TreeNameJavaField = $treeNameColumn.javaField.substring(0,1).toUpperCase() + ${treeNameColumn.javaField.substring(1)})##首字母大写
  66. default ${table.className}DO selectBy${TreeParentJavaField}And${TreeNameJavaField}(Long ${treeParentColumn.javaField}, String ${treeNameColumn.javaField}) {
  67. return selectOne(${table.className}DO::get${TreeParentJavaField}, ${treeParentColumn.javaField}, ${table.className}DO::get${TreeNameJavaField}, ${treeNameColumn.javaField});
  68. }
  69. default Long selectCountBy${TreeParentJavaField}(${treeParentColumn.javaType} ${treeParentColumn.javaField}) {
  70. return selectCount(${table.className}DO::get${TreeParentJavaField}, ${treeParentColumn.javaField});
  71. }
  72. #end
  73. }