repositoryImpl.ftl 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <#include "../../function.ftl">
  2. <#include "../../variable.ftl">
  3. <#assign foreignKey=convertUnderLine(model.foreignKey)>
  4. <#if isBaseModule = 'true'>
  5. package com.${cAlias}.${cPlatform}.${sys}.repository.impl;
  6. <#else>
  7. package com.${cAlias}.${cPlatform}.${sys}.${module}.repository.impl;
  8. </#if>
  9. <#if (hasSub?exists && hasSub==true) || (sub?exists && sub)>
  10. import java.util.List;
  11. </#if>
  12. import javax.annotation.Resource;
  13. import org.springframework.stereotype.Repository;
  14. <#if hasSub?exists && hasSub==true>
  15. import com.${scAlias}.${scPlatform}.base.core.util.string.StringUtil;
  16. </#if>
  17. import com.${scAlias}.${scPlatform}.base.core.util.AppUtil;
  18. import com.${scAlias}.${scPlatform}.base.framework.persistence.dao.IQueryDao;
  19. import com.${scAlias}.${scPlatform}.base.framework.repository.AbstractRepository;
  20. <#if isBaseModule = 'true'>
  21. import com.${cAlias}.${cPlatform}.${sys}.domain.${class};
  22. import com.${cAlias}.${cPlatform}.${sys}.repository.${class}Repository;
  23. import com.${cAlias}.${cPlatform}.${sys}.persistence.dao.${class}QueryDao;
  24. import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${class}Po;
  25. <#if hasSub?exists && hasSub==true><#list model.subTableList as subTable>
  26. import com.${cAlias}.${cPlatform}.${sys}.persistence.dao.${subTable.variables.class}QueryDao;
  27. import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${subTable.variables.class}Po;
  28. </#list></#if>
  29. <#else>
  30. import com.${cAlias}.${cPlatform}.${sys}.${module}.domain.${class};
  31. import com.${cAlias}.${cPlatform}.${sys}.${module}.repository.${class}Repository;
  32. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.dao.${class}QueryDao;
  33. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${class}Po;
  34. <#if hasSub?exists && hasSub==true><#list model.subTableList as subTable>
  35. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.dao.${subTable.variables.class}QueryDao;
  36. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${subTable.variables.class}Po;
  37. </#list></#if>
  38. </#if>
  39. /**
  40. * ${model.tabComment} 仓库的实现类
  41. *
  42. *<pre>
  43. <#if vars.company?exists>
  44. * 开发公司:${vars.company}
  45. </#if>
  46. <#if vars.developer?exists>
  47. * 开发人员:${vars.developer}
  48. </#if>
  49. <#if vars.email?exists>
  50. * 邮箱地址:${vars.email}
  51. </#if>
  52. * 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")}
  53. *</pre>
  54. */
  55. @Repository
  56. public class ${class}RepositoryImpl extends AbstractRepository<String, ${class}Po,${class}> implements ${class}Repository{
  57. @Resource
  58. private ${class}QueryDao ${classVar}QueryDao;
  59. <#if hasSub?exists && hasSub==true><#list model.subTableList as subTable>
  60. @Resource
  61. private ${subTable.variables.class}QueryDao ${subTable.variables.classVar}QueryDao;
  62. </#list>
  63. </#if>
  64. public ${class} newInstance() {
  65. ${class}Po po = new ${class}Po();
  66. ${class} ${classVar} = AppUtil.getBean(${class}.class);
  67. ${classVar}.setData(po);
  68. return ${classVar};
  69. }
  70. public ${class} newInstance(${class}Po po) {
  71. ${class} ${classVar} = AppUtil.getBean(${class}.class);
  72. ${classVar}.setData(po);
  73. return ${classVar};
  74. }
  75. @Override
  76. protected IQueryDao<String, ${class}Po> getQueryDao() {
  77. return ${classVar}QueryDao;
  78. }
  79. <#if sub?exists && sub>
  80. @Override
  81. public List<${class}Po> findByMainId(String mainId) {
  82. return ${classVar}QueryDao.findByMainId(mainId);
  83. }
  84. </#if>
  85. <#if hasSub?exists && hasSub==true>
  86. /**
  87. * 查询全部子表的数据,并设置到主表Po中
  88. * void
  89. */
  90. @Override
  91. public ${class}Po loadCascade(String id){
  92. ${class}Po ${classVar}Po = null;
  93. if(StringUtil.isNotEmpty(id)){
  94. ${classVar}Po = ${classVar}QueryDao.get(id);
  95. <#list model.subTableList as subTable>
  96. List<${subTable.variables.class}Po> ${subTable.variables.classVar}PoList = ${subTable.variables.classVar}QueryDao.findByMainId(id);
  97. ${classVar}Po.set${subTable.variables.class}PoList(${subTable.variables.classVar}PoList);
  98. </#list>
  99. }
  100. return ${classVar}Po;
  101. }
  102. </#if>
  103. }