From 2a7ba88ff2f2a0de623d2078e026acf4904ca8e3 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 18 十二月 2024 11:10:22 +0800 Subject: [PATCH] 1 --- src/main/resources/mapper/data/DirMapper.xml | 139 +++++++++++++++++++++++++++++++-------------- 1 files changed, 95 insertions(+), 44 deletions(-) diff --git a/src/main/resources/mapper/data/DirMapper.xml b/src/main/resources/mapper/data/DirMapper.xml index f608f53..b0affef 100644 --- a/src/main/resources/mapper/data/DirMapper.xml +++ b/src/main/resources/mapper/data/DirMapper.xml @@ -1,74 +1,125 @@ <?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.lf.server.mapper.data.DirMapper"> - <resultMap id="resultMap" type="com.lf.server.entity.data.DirEntity"> - <id property="id" column="id"></id> - <result property="orderNum" column="order_num"></result> - <result property="createUser" column="create_user"></result> - <result property="createTime" column="create_time"></result> - <result property="updateUser" column="update_user"></result> - <result property="updateTime" column="update_time"></result> - </resultMap> - - <select id="selectDir" resultMap="resultMap" resultType="com.lf.server.entity.data.DirEntity"> - select * from lf.sys_dir where id = #{id} + <select id="selectDir" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where id = #{id} + </select> + <select id="selectByCode" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where code = #{code} </select> - <select id="selectDirAll" resultMap="resultMap" resultType="com.lf.server.entity.data.DirEntity"> - select * from lf.sys_dir order by order_num; + <select id="selectDirAll" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a order by order_num; </select> - <select id="selectDirRecursive" resultMap="resultMap" resultType="com.lf.server.entity.data.DirEntity"> + <select id="selectDirRoot" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName + from lf.sys_dir a + where pid = 0 + order by order_num, code; + </select> + + <select id="selectProject" resultType="com.lf.server.entity.data.DirEntity"> + select a.*, fn_get_fullname(a.code, 2) fullName + from lf.sys_dir a + <where> + pid = 0 and id > 1 + <if test="name != null"> + and upper(name) like #{name} + </if> + </where> + order by order_num, code; + </select> + + <select id="selectDirRecursive" resultType="com.lf.server.entity.data.DirEntity"> with recursive rs as( - select * from lf.sys_dir where name='涓縿涓滅嚎绠¢亾宸ョ▼鍗楁' - union - select a.* from lf.sys_dir a, rs b where a.pid=b.id - ) - select * FROM rs order by order_num; + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where name = #{name} + union + select b.*, fn_get_fullname(b.code, 2) fullName from lf.sys_dir b, rs c where b.pid = c.id) + select * from rs + order by order_num, code; </select> - <insert id="insertDir" parameterType="com.lf.server.entity.data.DirEntity"> - insert into lf.sys_dir - (pid,name,code,descr,level,order_num,create_user,create_time,bak) - values - (#{pid},#{name},#{code},#{descr},#{level} ,#{orderNum},#{createUser},now(),#{bak}); + <select id="selectRecursiveById" resultType="com.lf.server.entity.data.DirEntity"> + with recursive rs as( + select a.*, fn_get_fullname(a.code, 2) fullName from lf.sys_dir a where id = #{id} + union + select b.*, fn_get_fullname(b.code, 2) fullName from lf.sys_dir b, rs c where b.pid = c.id) + select * from rs + order by code; + </select> + + <select id="selectDirsForPrj" resultType="com.lf.server.entity.data.DirEntity"> + select a.* from lf.sys_dir a where code not like '00%' order by code; + </select> + + <select id="selectMaxOrderNum" resultType="java.lang.Integer"> + select coalesce(max(order_num), 0) + 1 from lf.sys_dir; + </select> + + <select id="selectDirByName" resultType="com.lf.server.entity.data.DirEntity"> + select * from lf.sys_dir + <where> + upper(name) = #{name} + <if test="pid != null"> + and pid = #{pid} + </if> + </where> + </select> + + <select id="selectNameByCode" resultType="java.lang.String"> + select name from lf.sys_dir where code = #{code}; + </select> + + <!-- 鎻掑叆涓�鏉� --> + <insert id="insert" parameterType="com.lf.server.entity.data.DirEntity"> + <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> + select currval('lf.sys_dir_id_seq'::regclass) as id + </selectKey> + + insert into lf.sys_dir + (pid,name,exts,descr,level,order_num,create_user,create_time,checks,bak,code) + values + (#{pid},#{name},#{exts},#{descr},#{level},#{orderNum},#{createUser},now(),#{checks},#{bak},#{code}); </insert> - <insert id="insertDirs"> + <!-- 鎻掑叆澶氭潯 --> + <insert id="inserts"> insert into lf.sys_dir - (pid,name,code,descr,level,order_num,create_user,create_time,bak) + (pid,name,exts,descr,level,order_num,create_user,create_time,checks,bak,code) values - <foreach collection="list" item="item" index="index" separator="," > - (#{item.pid},#{item.name},#{item.code},#{item.descr},#{item.level} - ,#{item.orderNum},#{item.createUser},now(),#{item.bak}) + <foreach collection="list" item="item" index="index" separator=","> + (#{item.pid},#{item.name},#{item.exts},#{item.descr},#{item.level},#{item.orderNum},#{item.createUser},now(),#{item.checks},#{item.bak},#{item.code}) </foreach> </insert> - <delete id="deleteDir" > + <delete id="deleteDir"> delete from lf.sys_dir where id = #{id} </delete> - <delete id="deleteDirs" > + <delete id="deleteDirs"> delete from lf.sys_dir where id in - <foreach item="ids" collection="list" index="index" open="(" - separator="," close=")"> - #{ids} + <foreach item="id" collection="ids" index="index" open="(" separator="," close=")"> + #{id} </foreach> </delete> - <update id="updateDir"> - update lf.sys_dir set pid=#{pid},name=#{name},code=#{code},descr=#{descr},level=#{level},order_num=#{orderNum}, - update_user=#{updateUser}, update_time=now(),bak=#{bak} where id=#{id} + <!-- 鏇存柊涓�鏉� --> + <update id="update"> + update lf.sys_dir + set pid=#{pid},name=#{name},exts=#{exts},descr=#{descr},level=#{level},order_num=#{orderNum}, + update_user=#{updateUser},update_time=now(),checks=#{checks},bak=#{bak},code=#{code} + where id=#{id} </update> - - <update id="updateDirs"> - <foreach collection="list" item="item" index="index" separator="," > + <!-- 鏇存柊澶氭潯 --> + <update id="updates"> + <foreach collection="list" item="item" index="index" separator=";"> update lf.sys_dir - <set> - pid=#{item.pid},name=#{item.name},code=#{item.code},descr=#{item.descr},level=#{item.level}, - order_num=#{item.orderNum},update_user=#{item.updateUser}, update_time=now(),bak=#{item.bak} - </set> + <set> + pid=#{item.pid},name=#{item.name},exts=#{item.exts},descr=#{item.descr},level=#{item.level},order_num=#{item.orderNum}, + update_user=#{item.updateUser},update_time=now(),checks=#{item.checks},bak=#{item.bak},code=#{item.code} + </set> where id = #{item.id} </foreach> </update> -- Gitblit v1.9.3