<?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">
|
<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" 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="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 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>
|
|
<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="selectByPid" resultType="com.lf.server.entity.data.DirEntity">
|
with recursive rs as(
|
select a.* from lf.sys_dir a where id = #{pid}
|
union
|
select b.* 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="inserts">
|
insert into lf.sys_dir
|
(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.exts},#{item.descr},#{item.level},#{item.orderNum},#{item.createUser},now(),#{item.checks},#{item.bak},#{item.code})
|
</foreach>
|
</insert>
|
|
<delete id="deleteDir">
|
delete from lf.sys_dir where id = #{id}
|
</delete>
|
|
<delete id="deleteDirs">
|
delete from lf.sys_dir where id in
|
<foreach item="id" collection="ids" index="index" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</delete>
|
|
<!-- 更新一条 -->
|
<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="updates">
|
<foreach collection="list" item="item" index="index" separator=";">
|
update lf.sys_dir
|
<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>
|
</mapper>
|