作者 RuoYi

优化代码生成主子表关联查询方式

@@ -115,12 +115,12 @@ public class SysLoginService @@ -115,12 +115,12 @@ public class SysLoginService
115 { 115 {
116 String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + StringUtils.nvl(uuid, ""); 116 String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + StringUtils.nvl(uuid, "");
117 String captcha = redisCache.getCacheObject(verifyKey); 117 String captcha = redisCache.getCacheObject(verifyKey);
118 - redisCache.deleteObject(verifyKey);  
119 if (captcha == null) 118 if (captcha == null)
120 { 119 {
121 AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire"))); 120 AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")));
122 throw new CaptchaExpireException(); 121 throw new CaptchaExpireException();
123 } 122 }
  123 + redisCache.deleteObject(verifyKey);
124 if (!code.equalsIgnoreCase(captcha)) 124 if (!code.equalsIgnoreCase(captcha))
125 { 125 {
126 AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"))); 126 AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
@@ -12,12 +12,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -12,12 +12,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
12 #if($table.sub) 12 #if($table.sub)
13 13
14 <resultMap id="${ClassName}${subClassName}Result" type="${ClassName}" extends="${ClassName}Result"> 14 <resultMap id="${ClassName}${subClassName}Result" type="${ClassName}" extends="${ClassName}Result">
15 - <collection property="${subclassName}List" notNullColumn="sub_${subTable.pkColumn.columnName}" javaType="java.util.List" resultMap="${subClassName}Result" /> 15 + <collection property="${subclassName}List" ofType="${subClassName}" column="${subTableFkName}" select="select${subClassName}List" />
16 </resultMap> 16 </resultMap>
17 17
18 <resultMap type="${subClassName}" id="${subClassName}Result"> 18 <resultMap type="${subClassName}" id="${subClassName}Result">
19 #foreach ($column in $subTable.columns) 19 #foreach ($column in $subTable.columns)
20 - <result property="${column.javaField}" column="sub_${column.columnName}" /> 20 + <result property="${column.javaField}" column="${column.columnName}" />
21 #end 21 #end
22 </resultMap> 22 </resultMap>
23 #end 23 #end
@@ -63,15 +63,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -63,15 +63,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
63 <include refid="select${ClassName}Vo"/> 63 <include refid="select${ClassName}Vo"/>
64 where ${pkColumn.columnName} = #{${pkColumn.javaField}} 64 where ${pkColumn.columnName} = #{${pkColumn.javaField}}
65 #elseif($table.sub) 65 #elseif($table.sub)
66 - select#foreach($column in $columns) a.$column.columnName#if($foreach.count != $columns.size()),#end#end,  
67 - #foreach($column in $subTable.columns) b.$column.columnName as sub_$column.columnName#if($foreach.count != $subTable.columns.size()),#end#end  
68 -  
69 - from ${tableName} a  
70 - left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName}  
71 - where a.${pkColumn.columnName} = #{${pkColumn.javaField}} 66 + select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end
  67 + from ${tableName}
  68 + where ${pkColumn.columnName} = #{${pkColumn.javaField}}
72 #end 69 #end
73 </select> 70 </select>
74 - 71 +#if($table.sub)
  72 +
  73 + <select id="select${subClassName}List" resultType="${subClassName}" resultMap="${subClassName}Result">
  74 + select#foreach ($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end
  75 + from ${subTableName}
  76 + where ${subTableFkName} = #{${subTableFkName}}
  77 + </select>
  78 +#end
  79 +
75 <insert id="insert${ClassName}" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end> 80 <insert id="insert${ClassName}" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end>
76 insert into ${tableName} 81 insert into ${tableName}
77 <trim prefix="(" suffix=")" suffixOverrides=","> 82 <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -127,7 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -127,7 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
127 132
128 <insert id="batch${subClassName}"> 133 <insert id="batch${subClassName}">
129 insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values 134 insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values
130 - <foreach item="item" index="index" collection="list" separator=","> 135 + <foreach item="item" index="index" collection="list" separator=",">
131 (#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end) 136 (#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end)
132 </foreach> 137 </foreach>
133 </insert> 138 </insert>