代码生成模板: 修复主子表查询时, 主表和子表字段相同导致数据错乱的问题

This commit is contained in:
dawn9117 2020-12-21 14:38:39 +08:00 committed by Gitee
parent 3e37ba5f1f
commit cfe5447811
1 changed files with 8 additions and 5 deletions

View File

@ -14,13 +14,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
#if($table.sub)
<resultMap id="${ClassName}${subClassName}Result" type="${ClassName}" extends="${ClassName}Result">
<collection property="${subclassName}List" notNullColumn="${subTable.pkColumn.columnName}" javaType="java.util.List" resultMap="${subClassName}Result" />
<resultMap id="${ClassName}${subClassName}Result" type="${ClassName}">
#foreach ($column in $columns)
<result property="${column.javaField}" column="a_${column.columnName}" />
#end
<collection property="${subclassName}List" notNullColumn="b_${subTable.pkColumn.columnName}" javaType="java.util.List" resultMap="${subClassName}Result" />
</resultMap>
<resultMap type="${subClassName}" id="${subClassName}Result">
#foreach ($column in $subTable.columns)
<result property="${column.javaField}" column="${column.columnName}" />
<result property="${column.javaField}" column="b_${column.columnName}" />
#end
</resultMap>
#end
@ -74,8 +77,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join ${tableName} p on p.${pkColumn.columnName} = t.${tree_parent_code}
where t.${pkColumn.columnName} = #{${pkColumn.javaField}}
#elseif($table.sub)
select#foreach($column in $columns) a.$column.columnName#if($velocityCount != $columns.size()),#end#end,
#foreach($column in $subTable.columns) b.$column.columnName#if($velocityCount != $subTable.columns.size()),#end#end
select#foreach($column in $columns) a.$column.columnName as a_$column.columnName#if($velocityCount != $columns.size()),#end#end,
#foreach($column in $subTable.columns) b.$column.columnName as b_$column.columnName#if($velocityCount != $subTable.columns.size()),#end#end
from ${tableName} a
left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName}