update 优化 框架整体提高查询性能

This commit is contained in:
疯狂的狮子Li
2023-12-26 00:46:34 +08:00
parent 363af040d6
commit 9c84530593
30 changed files with 122 additions and 201 deletions

View File

@ -11,8 +11,8 @@
select * from sys_dept ${ew.getCustomSqlSegment}
</select>
<select id="selectDeptById" resultMap="SysDeptResult">
select * from sys_dept where del_flag = '0' and dept_id = #{deptId}
<select id="countDeptById" resultType="Long">
select count(*) from sys_dept where del_flag = '0' and dept_id = #{deptId}
</select>
<select id="selectDeptListByRoleId" resultType="Long">

View File

@ -7,20 +7,12 @@
<resultMap type="org.dromara.system.domain.vo.SysPostVo" id="SysPostResult">
</resultMap>
<select id="selectPostListByUserId" parameterType="Long" resultType="Long">
select p.post_id
<select id="selectPostsByUserId" parameterType="Long" resultMap="SysPostResult">
select p.post_id, p.post_name, p.post_code
from sys_post p
left join sys_user_post up on up.post_id = p.post_id
left join sys_user u on u.user_id = up.user_id
where u.user_id = #{userId}
</select>
<select id="selectPostsByUserName" parameterType="String" resultMap="SysPostResult">
select p.post_id, p.post_name, p.post_code
from sys_post p
left join sys_user_post up on up.post_id = p.post_id
left join sys_user u on u.user_id = up.user_id
where u.user_name = #{userName}
</select>
</mapper>

View File

@ -40,23 +40,17 @@
WHERE r.del_flag = '0' and sur.user_id = #{userId}
</select>
<select id="selectRoleListByUserId" parameterType="Long" resultType="Long">
select r.role_id
from sys_role r
left join sys_user_role sur on sur.role_id = r.role_id
left join sys_user u on u.user_id = sur.user_id
where u.user_id = #{userId}
</select>
<select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult">
<select id="selectRolesByUserId" parameterType="Long" resultMap="SysRoleResult">
select r.role_id,
r.role_name,
r.role_key,
r.role_sort
r.role_sort,
r.data_scope,
r.status
from sys_role r
left join sys_user_role sur on sur.role_id = r.role_id
left join sys_user u on u.user_id = sur.user_id
WHERE r.del_flag = '0' and u.user_name = #{userName}
WHERE r.del_flag = '0' and sur.user_id = #{userId}
</select>
<select id="selectRoleById" resultMap="SysRoleResult">

View File

@ -9,7 +9,6 @@
<id property="userId" column="user_id"/>
<result property="deptId" column="dept_id"/>
<association property="dept" column="dept_id" resultMap="deptResult"/>
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
</resultMap>
<resultMap id="deptResult" type="org.dromara.system.domain.vo.SysDeptVo">
@ -19,52 +18,6 @@
<result property="createTime" column="dept_create_time"/>
</resultMap>
<resultMap id="RoleResult" type="org.dromara.system.domain.vo.SysRoleVo">
<id property="roleId" column="role_id"/>
<result property="status" column="role_status"/>
<result property="createTime" column="role_create_time"/>
</resultMap>
<sql id="selectUserVo">
select u.user_id,
u.tenant_id,
u.dept_id,
u.user_name,
u.nick_name,
u.user_type,
u.email,
u.avatar,
u.phonenumber,
u.password,
u.sex,
u.status,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark,
d.dept_id,
d.parent_id,
d.ancestors,
d.dept_name,
d.order_num,
d.leader,
d.status as dept_status,
d.email as dept_email,
d.create_time as dept_cteate_time,
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.dept_id = d.dept_id
left join sys_user_role sur on u.user_id = sur.user_id
left join sys_role r on r.role_id = sur.role_id
</sql>
<select id="selectPageUserList" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex,
u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
@ -103,24 +56,8 @@
${ew.getCustomSqlSegment}
</select>
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.del_flag = '0' and u.user_name = #{userName}
</select>
<select id="selectUserByPhonenumber" parameterType="String" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.del_flag = '0' and u.phonenumber = #{phonenumber}
</select>
<select id="selectUserByEmail" parameterType="String" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.del_flag = '0' and u.email = #{email}
</select>
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.del_flag = '0' and u.user_id = #{userId}
<select id="countUserById" resultType="Long">
select count(*) from sys_user where del_flag = '0' and user_id = #{userId}
</select>