mapper.xml.vm 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="${packageName}.mapper.${ClassName}Mapper">
  6. <resultMap type="${ClassName}" id="${ClassName}Result">
  7. #foreach ($column in $columns)
  8. <result property="${column.javaField}" column="${column.columnName}" />
  9. #end
  10. </resultMap>
  11. <sql id="select${ClassName}Vo">
  12. select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end from ${tableName}
  13. </sql>
  14. <select id="select${ClassName}List" parameterType="${ClassName}" resultMap="${ClassName}Result">
  15. <include refid="select${ClassName}Vo"/>
  16. <where>
  17. #foreach($column in $columns)
  18. #set($queryType=$column.queryType)
  19. #set($javaField=$column.javaField)
  20. #set($javaType=$column.javaType)
  21. #set($columnName=$column.columnName)
  22. #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  23. #if($column.query)
  24. #if($column.queryType == "EQ")
  25. <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName = #{$javaField}</if>
  26. #elseif($queryType == "NE")
  27. <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName != #{$javaField}</if>
  28. #elseif($queryType == "GT")
  29. <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &gt; #{$javaField}</if>
  30. #elseif($queryType == "GTE")
  31. <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &gt;= #{$javaField}</if>
  32. #elseif($queryType == "LT")
  33. <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &lt; #{$javaField}</if>
  34. #elseif($queryType == "LTE")
  35. <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &lt;= #{$javaField}</if>
  36. #elseif($queryType == "LIKE")
  37. <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName like concat('%', #{$javaField}, '%')</if>
  38. #elseif($queryType == "BETWEEN")
  39. <if test="params.begin$AttrName != null and params.begin$AttrName != '' and params.end$AttrName != null and params.end$AttrName != ''"> and $columnName between #{params.begin$AttrName} and #{params.end$AttrName}</if>
  40. #end
  41. #end
  42. #end
  43. </where>
  44. </select>
  45. <select id="select${ClassName}ById" parameterType="${pkColumn.javaType}" resultMap="${ClassName}Result">
  46. <include refid="select${ClassName}Vo"/>
  47. where ${pkColumn.columnName} = #{${pkColumn.javaField}}
  48. </select>
  49. <insert id="insert${ClassName}" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end>
  50. insert into ${tableName}
  51. <trim prefix="(" suffix=")" suffixOverrides=",">
  52. #foreach($column in $columns)
  53. #if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)
  54. <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName,</if>
  55. #end
  56. #end
  57. </trim>
  58. <trim prefix="values (" suffix=")" suffixOverrides=",">
  59. #foreach($column in $columns)
  60. #if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)
  61. <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">#{$column.javaField},</if>
  62. #end
  63. #end
  64. </trim>
  65. </insert>
  66. <update id="update${ClassName}" parameterType="${ClassName}">
  67. update ${tableName}
  68. <trim prefix="SET" suffixOverrides=",">
  69. #foreach($column in $columns)
  70. #if($column.columnName != $pkColumn.columnName)
  71. <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName = #{$column.javaField},</if>
  72. #end
  73. #end
  74. </trim>
  75. where ${pkColumn.columnName} = #{${pkColumn.javaField}}
  76. </update>
  77. <delete id="delete${ClassName}ById" parameterType="${pkColumn.javaType}">
  78. delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}}
  79. </delete>
  80. <delete id="delete${ClassName}ByIds" parameterType="String">
  81. delete from ${tableName} where ${pkColumn.columnName} in
  82. <foreach item="${pkColumn.javaField}" collection="array" open="(" separator="," close=")">
  83. #{${pkColumn.javaField}}
  84. </foreach>
  85. </delete>
  86. </mapper>