You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
2.3 KiB

3 years ago
  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="${package.Mapper}.${table.mapperName}">
  4. #if(${enableCache})
  5. <!-- 开启二级缓存 -->
  6. <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
  7. #end
  8. #if(${baseResultMap})
  9. <!-- 通用查询映射结果 -->
  10. <resultMap id="BaseResultMap" type="${package.Entity}.${entity}">
  11. #foreach($field in ${table.fields})
  12. #if(${field.keyFlag})##生成主键排在第一位
  13. <id column="${field.name}" property="${field.propertyName}" />
  14. #end
  15. #end
  16. #foreach($field in ${table.commonFields})##生成公共字段
  17. <result column="${field.name}" property="${field.propertyName}" />
  18. #end
  19. #foreach($field in ${table.fields})
  20. #if(!${field.keyFlag})##生成普通字段
  21. <result column="${field.name}" property="${field.propertyName}" />
  22. #end
  23. #end
  24. </resultMap>
  25. <!-- 详情查询映射结果 -->
  26. <resultMap id="DetailResultMap" type="${package.Dto}.${dto}" extends="BaseResultMap">
  27. #foreach($field in ${table.dtoFields})
  28. <result column="${field.name}" property="${field.propertyName}" />
  29. #end
  30. </resultMap>
  31. #end
  32. #if(${baseColumnList})
  33. <!-- 通用查询结果列 -->
  34. <sql id="Base_Column_List">
  35. #foreach($field in ${table.commonFields})
  36. ${field.columnName},
  37. #end
  38. ${table.fieldNames}
  39. </sql>
  40. #end
  41. <!-- 获取详情分页记录 -->
  42. <select id="detailPage" resultMap="DetailResultMap">
  43. select a.*${table.joinColumns}
  44. from ${table.name} a
  45. #foreach($join in ${table.joinTables})
  46. left join ${join.name} ${join.alias} on a.${join.field}=${join.alias}.${join.foreignId}
  47. #end
  48. <where>
  49. #foreach($field in ${table.searchFields})
  50. <if test="${field.condition}">and ${field.alias}.${field.columnName}=#{entity.$field.propertyName}</if>
  51. #end
  52. </where>
  53. </select>
  54. <!-- 获取指定的详情记录 -->
  55. <select id="detailById" resultMap="DetailResultMap">
  56. select a.*${table.joinColumns}
  57. from ${table.name} a
  58. #foreach($join in ${table.joinTables})
  59. left join ${join.name} ${join.alias} on a.${join.field}=${join.alias}.${join.foreignId}
  60. #end
  61. where a.${table.keyField}=#{id}
  62. </select>
  63. </mapper>