From 4f6d90f81e1328baeb8c9f2c9c23e34b7b8f002a Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期一, 12 五月 2025 10:52:56 +0800 Subject: [PATCH] 供应商前后端联调 --- src/main/resources/vm/xml/mapper.xml.vm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/main/resources/vm/xml/mapper.xml.vm b/src/main/resources/vm/xml/mapper.xml.vm index 6c490a4..84ce337 100644 --- a/src/main/resources/vm/xml/mapper.xml.vm +++ b/src/main/resources/vm/xml/mapper.xml.vm @@ -9,9 +9,21 @@ <result property="${column.javaField}" column="${column.columnName}" /> #end </resultMap> +#if($table.sub) + + <resultMap id="${ClassName}${subClassName}Result" type="${ClassName}" extends="${ClassName}Result"> + <collection property="${subclassName}List" ofType="${subClassName}" column="${pkColumn.columnName}" select="select${subClassName}List" /> + </resultMap> + + <resultMap type="${subClassName}" id="${subClassName}Result"> +#foreach ($column in $subTable.columns) + <result property="${column.javaField}" column="${column.columnName}" /> +#end + </resultMap> +#end <sql id="select${ClassName}Vo"> - select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end from ${tableName} + select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end from ${tableName} </sql> <select id="select${ClassName}List" parameterType="${ClassName}" resultMap="${ClassName}Result"> @@ -46,11 +58,25 @@ </where> </select> - <select id="select${ClassName}ById" parameterType="${pkColumn.javaType}" resultMap="${ClassName}Result"> + <select id="select${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}" resultMap="#if($table.sub)${ClassName}${subClassName}Result#else${ClassName}Result#end"> +#if($table.crud || $table.tree) <include refid="select${ClassName}Vo"/> where ${pkColumn.columnName} = #{${pkColumn.javaField}} +#elseif($table.sub) + select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end + from ${tableName} + where ${pkColumn.columnName} = #{${pkColumn.javaField}} +#end </select> - +#if($table.sub) + + <select id="select${subClassName}List" resultMap="${subClassName}Result"> + select#foreach ($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end + from ${subTableName} + where ${subTableFkName} = #{${subTableFkName}} + </select> +#end + <insert id="insert${ClassName}" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end> insert into ${tableName} <trim prefix="(" suffix=")" suffixOverrides=","> @@ -81,15 +107,34 @@ where ${pkColumn.columnName} = #{${pkColumn.javaField}} </update> - <delete id="delete${ClassName}ById" parameterType="${pkColumn.javaType}"> + <delete id="delete${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}"> delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}} </delete> - <delete id="delete${ClassName}ByIds" parameterType="String"> + <delete id="delete${ClassName}By${pkColumn.capJavaField}s" parameterType="String"> delete from ${tableName} where ${pkColumn.columnName} in <foreach item="${pkColumn.javaField}" collection="array" open="(" separator="," close=")"> #{${pkColumn.javaField}} </foreach> </delete> +#if($table.sub) + <delete id="delete${subClassName}By${subTableFkClassName}s" parameterType="String"> + delete from ${subTableName} where ${subTableFkName} in + <foreach item="${subTableFkclassName}" collection="array" open="(" separator="," close=")"> + #{${subTableFkclassName}} + </foreach> + </delete> + + <delete id="delete${subClassName}By${subTableFkClassName}" parameterType="${pkColumn.javaType}"> + delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}} + </delete> + + <insert id="batch${subClassName}"> + insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values + <foreach item="item" index="index" collection="list" separator=","> + (#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end) + </foreach> + </insert> +#end </mapper> \ No newline at end of file -- Gitblit v1.9.3