背景:
公司使用若依框架快速构建项目,客户那边原有的数据要同步过来,且要求字段与原先的字段一致,可以让数据丝滑无畅导入。用户表和部门表是基础在代码出现的地方比较多,该如何考虑去过度去更换)
如何快速精确无比更换那就值得深思
在做这件事情之前,请记住要提交代码提交代码提交代码,方便回滚
导出整个数据库不要在原有的数据库开始乱造。
然后就是漫长的对字段 哪些字段需要修改哪些字段要增加,记不住没关系,因为我记不住
表有了直接代码生成,只需要更换domian 实体类 和你mapper.xml 文件
先换实体类 再换mapper.xml
当你开始的时候你就得知道开弓没有回头箭
更换实体类 能知道哪些地方使用了什么属性
因为增加修改了列名所以需要更换 sql 语句
在修改代码的时候发现mapper一种新的写法
<mapper namespace="com.trinity.system.mapper.SysUserMapper">
<resultMap type="SysUser" id="SysUserResult">
<result property="userID" column="userID" />
<result property="loginName" column="loginName" />
<result property="userName" column="userName" />
<result property="email" column="email" />
<result property="mobile" column="mobile" />
<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="ip" column="ip" />
<result property="loginDate" column="login_date" />
<result property="createUser" column="createUser" />
<result property="createTime" column="createTime" />
<result property="updateUser" column="updateUser" />
<result property="updateTime" column="updateTime" />
<result property="remark" column="remark" />
<result property="cid" column="cid" />
<result property="certificateId" column="certificateId" />
<result property="secretLevel" column="secretLevel" />
<result property="telephone" column="telephone" />
<result property="expireTime" column="expireTime" />
<result property="sourceSystem" column="sourceSystem" />
<result property="note" column="note" />
<association property="dept" column="departmentId" javaType="SysDept" resultMap="deptResult" />
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
</resultMap>
<resultMap id="deptResult" type="SysDept">
<result property="deptID" column="deptID" />
<result property="parentId" column="parent_id" />
<result property="ancestors" column="ancestors" />
<result property="deptName" column="dept_name" />
<result property="orderNum" column="order_num" />
<result property="leader" column="leader" />
<result property="phone" column="phone" />
<result property="email" column="email" />
<result property="status" column="status" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<resultMap id="RoleResult" type="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">
select u.userID, u.departmentId, u.loginName, u.userName u.email, u.mobile, u.sex, u.avatar, u.password, u.status, u.del_flag, u.ip, u.login_date, u.createUser, u.createTime, u.updateUser, u.updateTime, u.remark, u.cid, u.certificateId, u.secretLevel, u.telephone, u.expireTime, u.sourceSystem, u.note,
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user u
left join sys_dept d on u.departmentId = d.dept_id
left join sys_user_role ur on u.userID = ur.user_id
left join sys_role r on r.role_id = ur.role_id
</sql>
这种配置外键关联性对象的操作还是之前使用全映射框架hibernate 使用注解的实现的。
原来这mybatis association 也可以额配置关联关系 要研究一下
看了若依框架mapper.xml 文件 再看看 生成的 这区别还是很大 文件真的简介不少文章来源:https://www.toymoban.com/news/detail-642958.html
文章来源地址https://www.toymoban.com/news/detail-642958.html
到了这里,关于记录更换若依框架的用户和部门两种表的过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!