<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.example.mapper.UserMapper">
|
|
<resultMap id="userResultMap" type="com.example.entity.User">
|
<id column="id" property="id"/>
|
<result column="username" property="username"/>
|
<result column="real_name" property="realName"/>
|
<result column="password" property="password"/>
|
<result column="email" property="email"/>
|
<result column="phone" property="phone"/>
|
<result column="dept_code" property="deptCode"/>
|
<result column="status" property="status"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="create_by" property="createBy"/>
|
<result column="update_by" property="updateBy"/>
|
<result column="deleted" property="deleted"/>
|
<result column="version" property="version"/>
|
<result column="dept_name" property="deptName"/>
|
</resultMap>
|
|
<select id="selectUserPage" resultMap="userResultMap">
|
SELECT u.*, d.dept_name
|
FROM sys_user u
|
LEFT JOIN sys_department d ON u.dept_code = d.dept_code
|
WHERE u.deleted = 0
|
<if test="username != null and username != ''">
|
AND u.username LIKE '%' || #{username} || '%'
|
</if>
|
<if test="realName != null and realName != ''">
|
AND u.real_name LIKE '%' || #{realName} || '%'
|
</if>
|
<if test="deptCode != null and deptCode != ''">
|
AND u.dept_code = #{deptCode}
|
</if>
|
<if test="permissionDeptCodes != null and permissionDeptCodes.size() > 0">
|
AND u.dept_code IN
|
<foreach collection="permissionDeptCodes" item="code" open="(" separator="," close=")">
|
#{code}
|
</foreach>
|
</if>
|
ORDER BY u.id DESC
|
</select>
|
|
<insert id="insert" parameterType="com.example.entity.User" useGeneratedKeys="false">
|
<selectKey keyProperty="id" resultType="java.lang.Long" order="BEFORE">
|
SELECT seq_sys_user.NEXTVAL FROM DUAL
|
</selectKey>
|
INSERT INTO sys_user (
|
id,
|
username,
|
real_name,
|
password,
|
<if test="email != null and email != ''">email,</if>
|
<if test="phone != null and phone != ''">phone,</if>
|
dept_code,
|
status,
|
create_time,
|
update_time,
|
create_by,
|
update_by,
|
deleted,
|
version
|
) VALUES (
|
#{id},
|
#{username},
|
#{realName},
|
#{password},
|
<if test="email != null and email != ''">#{email},</if>
|
<if test="phone != null and phone != ''">#{phone},</if>
|
#{deptCode},
|
#{status},
|
SYSDATE,
|
SYSDATE,
|
#{createBy},
|
#{updateBy},
|
0,
|
1
|
)
|
</insert>
|
</mapper>
|