Parcourir la source

update 优化 默认开启复杂结构 resultMap 自动映射 简化xml编码(多结构实体需带上主键id)

疯狂的狮子li il y a 2 ans
Parent
commit
df6867ee05

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -153,7 +153,7 @@ mybatis-plus:
     mapUnderscoreToCamelCase: true
     # MyBatis 自动映射策略
     # NONE:不启用 PARTIAL:只对非嵌套 resultMap 自动映射 FULL:对所有 resultMap 自动映射
-    autoMappingBehavior: PARTIAL
+    autoMappingBehavior: FULL
     # MyBatis 自动映射时未知列或未知属性处理策
     # NONE:不做处理 WARNING:打印相关警告 FAILING:抛出异常和详细信息
     autoMappingUnknownColumnBehavior: NONE

+ 4 - 43
ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml

@@ -4,53 +4,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.generator.mapper.GenTableMapper">
 
+    <!-- 多结构嵌套自动映射需带上每个实体的主键id 否则映射会失败 -->
     <resultMap type="com.ruoyi.generator.domain.GenTable" id="GenTableResult">
-        <id     property="tableId"        column="table_id"          />
-        <result property="tableName"      column="table_name"        />
-        <result property="tableComment"   column="table_comment"     />
-        <result property="subTableName"   column="sub_table_name"    />
-        <result property="subTableFkName" column="sub_table_fk_name" />
-        <result property="className"      column="class_name"        />
-        <result property="tplCategory"    column="tpl_category"      />
-        <result property="packageName"    column="package_name"      />
-        <result property="moduleName"     column="module_name"       />
-        <result property="businessName"   column="business_name"     />
-        <result property="functionName"   column="function_name"     />
-        <result property="functionAuthor" column="function_author"   />
-        <result property="genType"        column="gen_type"          />
-        <result property="genPath"        column="gen_path"          />
-        <result property="options"        column="options"           />
-        <result property="createBy"       column="create_by"         />
-        <result property="createTime"     column="create_time"       />
-        <result property="updateBy"       column="update_by"         />
-        <result property="updateTime"     column="update_time"       />
-        <result property="remark"         column="remark"            />
-        <collection  property="columns"  javaType="java.util.List"  resultMap="GenTableColumnResult" />
+        <id property="tableId" column="table_id" />
+        <collection property="columns" javaType="java.util.List" resultMap="GenTableColumnResult" />
     </resultMap>
 
     <resultMap type="com.ruoyi.generator.domain.GenTableColumn" id="GenTableColumnResult">
-        <id     property="columnId"       column="column_id"      />
-        <result property="tableId"        column="table_id"       />
-        <result property="columnName"     column="column_name"    />
-        <result property="columnComment"  column="column_comment" />
-        <result property="columnType"     column="column_type"    />
-        <result property="javaType"       column="java_type"      />
-        <result property="javaField"      column="java_field"     />
-        <result property="isPk"           column="is_pk"          />
-        <result property="isIncrement"    column="is_increment"   />
-        <result property="isRequired"     column="is_required"    />
-        <result property="isInsert"       column="is_insert"      />
-        <result property="isEdit"         column="is_edit"        />
-        <result property="isList"         column="is_list"        />
-        <result property="isQuery"        column="is_query"       />
-        <result property="queryType"      column="query_type"     />
-        <result property="htmlType"       column="html_type"      />
-        <result property="dictType"       column="dict_type"      />
-        <result property="sort"           column="sort"           />
-        <result property="createBy"       column="create_by"      />
-        <result property="createTime"     column="create_time"    />
-        <result property="updateBy"       column="update_by"      />
-        <result property="updateTime"     column="update_time"    />
+        <id property="columnId" column="column_id"/>
     </resultMap>
 
     <select id="selectPageDbTableList" resultMap="GenTableResult">

+ 1 - 29
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -4,47 +4,19 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.system.mapper.SysUserMapper">
 
+    <!-- 多结构嵌套自动映射需带上每个实体的主键id 否则映射会失败 -->
     <resultMap type="com.ruoyi.common.core.domain.entity.SysUser" id="SysUserResult">
         <id property="userId" column="user_id"/>
-        <result property="deptId" column="dept_id"/>
-        <result property="userName" column="user_name"/>
-        <result property="nickName" column="nick_name"/>
-        <result property="userType" column="user_type"/>
-        <result property="email" column="email"/>
-        <result property="phonenumber" column="phonenumber"/>
-        <result property="sex" column="sex"/>
-        <result property="avatar" column="avatar"/>
-        <result property="password" column="password"/>
-        <result property="status" column="status"/>
-        <result property="delFlag" column="del_flag"/>
-        <result property="loginIp" column="login_ip"/>
-        <result property="loginDate" column="login_date"/>
-        <result property="createBy" column="create_by"/>
-        <result property="createTime" column="create_time"/>
-        <result property="updateBy" column="update_by"/>
-        <result property="updateTime" column="update_time"/>
-        <result property="remark" column="remark"/>
         <association property="dept" column="dept_id" resultMap="deptResult"/>
         <collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
     </resultMap>
 
     <resultMap id="deptResult" type="com.ruoyi.common.core.domain.entity.SysDept">
         <id property="deptId" column="dept_id"/>
-        <result property="parentId" column="parent_id"/>
-        <result property="deptName" column="dept_name"/>
-        <result property="ancestors" column="ancestors"/>
-        <result property="orderNum" column="order_num"/>
-        <result property="leader" column="leader"/>
-        <result property="status" column="dept_status"/>
     </resultMap>
 
     <resultMap id="RoleResult" type="com.ruoyi.common.core.domain.entity.SysRole">
         <id property="roleId" column="role_id"/>
-        <result property="roleName" column="role_name"/>
-        <result property="roleKey" column="role_key"/>
-        <result property="roleSort" column="role_sort"/>
-        <result property="dataScope" column="data_scope"/>
-        <result property="status" column="role_status"/>
     </resultMap>
 
     <sql id="selectUserVo">