Dao.xml.vm 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="${basePackage}.module.${modulePackage}.dao.${moduleClass}Dao">
  4. <resultMap id="${moduleClass}VO" type="${basePackage}.module.${modulePackage}.domain.vo.${moduleClass}VO"></resultMap>
  5. <resultMap id="${moduleClass}ExcelVO" type="${basePackage}.module.${modulePackage}.domain.vo.${moduleClass}ExcelVO"></resultMap>
  6. <sql id="baseSql">
  7. #foreach($column in $columnList)
  8. #if($velocityCount != $columnList.size())
  9. a.$column.columnName,
  10. #else
  11. a.$column.columnName
  12. #end
  13. #end
  14. </sql>
  15. <sql id="baseCondition">
  16. 1=1
  17. #foreach($queryField in $queryFieldList)
  18. #if ($queryField.sqlOperate == 'like')
  19. <if test="queryDTO.${queryField.fieldName} != null and queryDTO.${queryField.fieldName} != ''">
  20. AND INSTR(a.$queryField.columnName,#{queryDTO.$queryField.fieldName})
  21. </if>
  22. #end
  23. #if ($queryField.sqlOperate == 'equals')
  24. #if ($queryField.fieldType == 'String')
  25. <if test="queryDTO.${queryField.fieldName} != null and queryDTO.${queryField.fieldName} != ''">
  26. AND a.$queryField.columnName = #{queryDTO.$queryField.fieldName}
  27. </if>
  28. #else
  29. <if test="queryDTO.${queryField.fieldName} != null">
  30. AND a.$queryField.columnName = #{queryDTO.$queryField.fieldName}
  31. </if>
  32. #end
  33. #end
  34. #if ($queryField.sqlOperate == 'in')
  35. <if test="queryDTO.${queryField.fieldName}List !=null and queryDTO.${queryField.fieldName}List.size() > 0">
  36. and a.$queryField.columnName in
  37. <foreach collection="queryDTO.${queryField.fieldName}List" open="(" index="index" separator="," close=")" item="item">
  38. #{item}
  39. </foreach>
  40. </if>
  41. #end
  42. #end
  43. <if test="queryDTO.idList !=null and queryDTO.idList.size() > 0">
  44. and a.id in
  45. <foreach collection="queryDTO.idList" open="(" index="index" separator="," close=")" item="item">
  46. #{item}
  47. </foreach>
  48. </if>
  49. <if test="queryDTO.createTimeBegin != null ">
  50. AND a.create_time &gt;= #{queryDTO.createTimeBegin}
  51. </if>
  52. <if test="queryDTO.createTimeEnd != null ">
  53. AND a.create_time &lt;= #{queryDTO.createTimeEnd}
  54. </if>
  55. <if test="queryDTO.updateTimeBegin != null ">
  56. AND a.update_time &gt;= #{queryDTO.updateTimeBegin}
  57. </if>
  58. <if test="queryDTO.updateTimeEnd != null ">
  59. AND a.update_time &lt;= #{queryDTO.updateTimeEnd}
  60. </if>
  61. </sql>
  62. <select id="queryByPage" resultMap="${moduleClass}VO">
  63. select
  64. <include refid="baseSql"/>
  65. from ${tableName} a
  66. <where>
  67. <include refid="baseCondition"/>
  68. </where>
  69. </select>
  70. <select id="queryAllExportData" resultMap="${moduleClass}ExcelVO">
  71. select
  72. <include refid="baseSql"/>
  73. from ${tableName} a
  74. <where>
  75. <include refid="baseCondition"/>
  76. </where>
  77. </select>
  78. <select id="queryBatchExportData" resultMap="${moduleClass}ExcelVO">
  79. select
  80. <include refid="baseSql"/>
  81. from ${tableName} a
  82. where a.id in
  83. <foreach collection="idList" open="(" close=")" separator="," item="item">
  84. #{item}
  85. </foreach>
  86. </select>
  87. <delete id="deleteById">
  88. delete from ${tableName} where id = #{id}
  89. </delete>
  90. <delete id="deleteByIdList">
  91. delete from ${tableName} where id in
  92. <foreach collection="idList" open="(" close=")" separator="," item="item">
  93. #{item}
  94. </foreach>
  95. </delete>
  96. <select id="listAll" resultMap="${moduleClass}VO">
  97. select
  98. <include refid="baseSql"/>
  99. from ${tableName} a
  100. <where>
  101. <include refid="baseCondition"/>
  102. </where>
  103. </select>
  104. </mapper>