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

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> </resultMap>
#if($table.sub) #if($table.sub)
<resultMap id="${ClassName}${subClassName}Result" type="${ClassName}" extends="${ClassName}Result"> <resultMap id="${ClassName}${subClassName}Result" type="${ClassName}">
<collection property="${subclassName}List" notNullColumn="${subTable.pkColumn.columnName}" javaType="java.util.List" resultMap="${subClassName}Result" /> #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>
<resultMap type="${subClassName}" id="${subClassName}Result"> <resultMap type="${subClassName}" id="${subClassName}Result">
#foreach ($column in $subTable.columns) #foreach ($column in $subTable.columns)
<result property="${column.javaField}" column="${column.columnName}" /> <result property="${column.javaField}" column="b_${column.columnName}" />
#end #end
</resultMap> </resultMap>
#end #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} left join ${tableName} p on p.${pkColumn.columnName} = t.${tree_parent_code}
where t.${pkColumn.columnName} = #{${pkColumn.javaField}} where t.${pkColumn.columnName} = #{${pkColumn.javaField}}
#elseif($table.sub) #elseif($table.sub)
select#foreach($column in $columns) a.$column.columnName#if($velocityCount != $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#if($velocityCount != $subTable.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 from ${tableName} a
left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName} left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName}