mapping.ftl 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <#include "../function.ftl">
  2. <#include "../variable.ftl">
  3. <#assign pkVar=getPkVar(model) >
  4. <#assign foreignKey=model.foreignKey>
  5. <#-- 模板开始 -->
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  8. <mapper namespace="${namespace}">
  9. <resultMap id="${po}" type="${namespace}">
  10. <#list colList as col>
  11. <#assign colName=convertUnderLine(col.columnName)>
  12. <#if (col.isPK)>
  13. <id property="${colName}" column="${col.columnName?upper_case}" jdbcType="${getJdbcType(col.colDbType)}"/>
  14. <#else>
  15. <result property="${colName}" column="${col.columnName?upper_case}" jdbcType="${getJdbcType(col.colDbType)}"/>
  16. </#if>
  17. </#list>
  18. </resultMap>
  19. <sql id="columns">
  20. <#list colList as col>${col.columnName?upper_case}<#if col_has_next>,</#if></#list>
  21. </sql>
  22. <insert id="create" parameterType="${namespace}">
  23. INSERT INTO ${tableName?upper_case}
  24. (<include refid="columns"/>)
  25. VALUES
  26. (<#list colList as col><#assign colName=convertUnderLine(col.columnName)><#noparse>#{</#noparse>${colName},jdbcType=${getJdbcType(col.colDbType)}<#noparse>}</#noparse><#if col_has_next>, </#if></#list>)
  27. </insert>
  28. <select id="get" parameterType="java.lang.String" resultMap="${po}">
  29. SELECT <include refid="columns"/> FROM ${tableName?upper_case}
  30. WHERE
  31. ${pk?upper_case}=<#noparse>#{</#noparse>${convertUnderLine(pk)}}
  32. </select>
  33. <#--
  34. <select id="getLast" resultMap="${po}">
  35. select <include refid="columns"/> from ${tableName} where ${pk} = (select max(${pk}) from ${tableName})
  36. </select>
  37. -->
  38. <select id="query" parameterType="java.util.Map" resultMap="${po}">
  39. SELECT <include refid="columns"/> FROM ${tableName?upper_case}
  40. <where>
  41. <if test="whereSql!=null">
  42. <#noparse>${</#noparse>whereSql}
  43. </if>
  44. </where>
  45. <if test="orderBySql!=null">
  46. ORDER BY <#noparse>${</#noparse>orderBySql}
  47. </if>
  48. <if test="orderBySql==null">
  49. ORDER BY ${pk?upper_case} DESC
  50. </if>
  51. </select>
  52. <select id="findByIds" resultMap="${po}">
  53. SELECT <include refid="columns"/> FROM ${tableName?upper_case}
  54. WHERE ${pk?upper_case} in
  55. <foreach item="id" index="index" collection="ids" open="(" separator="," close=")">
  56. <#noparse>#{id} </#noparse>
  57. </foreach>
  58. ORDER BY ${pk?upper_case} DESC
  59. </select>
  60. <update id="update" parameterType="${namespace}">
  61. UPDATE ${tableName?upper_case} SET
  62. <#list commonList as col>
  63. <#assign colName=convertUnderLine(col.columnName)>
  64. ${col.columnName?upper_case}=<#noparse>#{</#noparse>${colName},jdbcType=${getJdbcType(col.colDbType)}<#noparse>}</#noparse><#if col_has_next>,</#if>
  65. </#list>
  66. WHERE
  67. ${pk?upper_case}=<#noparse>#{</#noparse>${convertUnderLine(pk)}}
  68. </update>
  69. <delete id="remove" parameterType="java.lang.String">
  70. DELETE FROM ${tableName?upper_case}
  71. WHERE
  72. ${pk?upper_case}=<#noparse>#{</#noparse>${convertUnderLine(pk)}}
  73. </delete>
  74. <#if sub?exists && sub==true>
  75. <#assign foreignKeyVar=convertUnderLine(foreignKey)>
  76. <delete id="deleteByMainId">
  77. DELETE FROM ${tableName?upper_case}
  78. WHERE
  79. ${foreignKey?upper_case}=<#noparse>#{</#noparse>mainId}
  80. </delete>
  81. <select id="findByMainId" resultMap="${po}">
  82. SELECT *
  83. FROM ${tableName?upper_case}
  84. WHERE ${foreignKey?upper_case}=<#noparse>#{</#noparse>mainId}
  85. </select>
  86. </#if>
  87. </mapper>