From 098d3347a0df808908aab8c554cd7c4febc5e6d9 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 26 八月 2024 11:43:59 +0800 Subject: [PATCH] !577 发布 5.2.2 正式版 安全性提升 Merge pull request !577 from 疯狂的狮子Li/dev --- ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml | 230 ++------------------------------------------------------- 1 files changed, 8 insertions(+), 222 deletions(-) diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml index 901bbf0..78aa852 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -14,239 +14,25 @@ <id property="columnId" column="column_id"/> </resultMap> - <select id="selectPageDbTableList" resultMap="GenTableResult"> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isMySql()"> - select table_name, table_comment, create_time, update_time - from information_schema.tables - where table_schema = (select database()) - AND table_name NOT LIKE 'sj_%' AND table_name NOT LIKE 'gen_%' - AND table_name NOT LIKE 'act_%' AND table_name NOT LIKE 'flw_%' - <if test="genTable.params.genTableNames != null and genTable.params.genTableNames.size > 0"> - AND table_name NOT IN - <foreach collection="genTable.params.genTableNames" open="(" close=")" separator="," item="item"> - #{item} - </foreach> - </if> - <if test="genTable.tableName != null and genTable.tableName != ''"> - AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%')) - </if> - <if test="genTable.tableComment != null and genTable.tableComment != ''"> - AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%')) - </if> - order by create_time desc - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isOracle()"> - select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time - from user_tables dt, user_tab_comments dtc, user_objects uo - where dt.table_name = dtc.table_name - and dt.table_name = uo.object_name - and uo.object_type = 'TABLE' - AND dt.table_name NOT LIKE 'SJ_%' AND dt.table_name NOT LIKE 'GEN_%' - AND dt.table_name NOT LIKE 'ACT_%' AND dt.table_name NOT LIKE 'FLW_%' - <if test="genTable.params.genTableNames != null and genTable.params.genTableNames.size > 0"> - AND lower(dt.table_name) NOT IN - <foreach collection="genTable.params.genTableNames" open="(" close=")" separator="," item="item"> - #{item} - </foreach> - </if> - <if test="genTable.tableName != null and genTable.tableName != ''"> - AND lower(dt.table_name) like lower(concat(concat('%', #{genTable.tableName}), '%')) - </if> - <if test="genTable.tableComment != null and genTable.tableComment != ''"> - AND lower(dtc.comments) like lower(concat(concat('%', #{genTable.tableComment}), '%')) - </if> - order by create_time desc - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isPostgerSql()"> - select table_name, table_comment, create_time, update_time - from ( - SELECT c.relname AS table_name, - obj_description(c.oid) AS table_comment, - CURRENT_TIMESTAMP AS create_time, - CURRENT_TIMESTAMP AS update_time - FROM pg_class c - LEFT JOIN pg_namespace n ON n.oid = c.relnamespace - WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"])) - AND c.relname != 'spatial_%'::text - AND n.nspname = 'public'::name - AND n.nspname <![CDATA[ <> ]]> ''::name - ) list_table - where table_name NOT LIKE 'sj_%' AND table_name NOT LIKE 'gen_%' - AND table_name NOT LIKE 'act_%' AND table_name NOT LIKE 'flw_%' - <if test="genTable.params.genTableNames != null and genTable.params.genTableNames.size > 0"> - AND table_name NOT IN - <foreach collection="genTable.params.genTableNames" open="(" close=")" separator="," item="item"> - #{item} - </foreach> - </if> - <if test="genTable.tableName != null and genTable.tableName != ''"> - AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%')) - </if> - <if test="genTable.tableComment != null and genTable.tableComment != ''"> - AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%')) - </if> - order by create_time desc - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isSqlServer()"> - SELECT cast(D.NAME as nvarchar) as table_name, - cast(F.VALUE as nvarchar) as table_comment, - crdate as create_time, - refdate as update_time - FROM SYSOBJECTS D - INNER JOIN SYS.EXTENDED_PROPERTIES F ON D.ID = F.MAJOR_ID - AND F.MINOR_ID = 0 AND D.XTYPE = 'U' AND D.NAME != 'DTPROPERTIES' - AND D.NAME NOT LIKE 'sj_%' AND D.NAME NOT LIKE 'gen_%' - AND D.NAME NOT LIKE 'act_%' AND D.NAME NOT LIKE 'flw_%' - <if test="genTable.params.genTableNames != null and genTable.params.genTableNames.size > 0"> - AND D.NAME NOT IN - <foreach collection="genTable.params.genTableNames" open="(" close=")" separator="," item="item"> - #{item} - </foreach> - </if> - <if test="genTable.tableName != null and genTable.tableName != ''"> - AND lower(D.NAME) like lower(concat(N'%', N'${genTable.tableName}', N'%')) - </if> - <if test="genTable.tableComment != null and genTable.tableComment != ''"> - AND lower(CAST(F.VALUE AS nvarchar)) like lower(concat(N'%', N'${genTable.tableComment}', N'%')) - </if> - order by crdate desc - </if> - </select> - - <select id="selectDbTableListByNames" resultMap="GenTableResult"> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isMySql()"> - select table_name, table_comment, create_time, update_time from information_schema.tables - where table_schema = (select database()) - and table_name NOT LIKE 'sj_%' and table_name NOT LIKE 'gen_%' - and table_name NOT LIKE 'act_%' AND table_name NOT LIKE 'flw_%' - and table_name in - <foreach collection="array" item="name" open="(" separator="," close=")"> - #{name} - </foreach> - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isOracle()"> - select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time - from user_tables dt, user_tab_comments dtc, user_objects uo - where dt.table_name = dtc.table_name - and dt.table_name = uo.object_name - and uo.object_type = 'TABLE' - and dt.table_name NOT LIKE 'SJ_%' AND dt.table_name NOT LIKE 'GEN_%' - and dt.table_name NOT LIKE 'ACT_%' AND dt.table_name NOT LIKE 'FLW_%' - and lower(dt.table_name) in - <foreach collection="array" item="name" open="(" separator="," close=")"> - #{name} - </foreach> - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isPostgerSql()"> - select table_name, table_comment, create_time, update_time - from ( - SELECT c.relname AS table_name, - obj_description(c.oid) AS table_comment, - CURRENT_TIMESTAMP AS create_time, - CURRENT_TIMESTAMP AS update_time - FROM pg_class c - LEFT JOIN pg_namespace n ON n.oid = c.relnamespace - WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"])) - AND c.relname != 'spatial_%'::text - AND n.nspname = 'public'::name - AND n.nspname <![CDATA[ <> ]]> ''::name - ) list_table - where table_name NOT LIKE 'sj_%' and table_name NOT LIKE 'gen_%' - and table_name NOT LIKE 'act_%' and table_name NOT LIKE 'flw_%' - and table_name in - <foreach collection="array" item="name" open="(" separator="," close=")"> - #{name} - </foreach> - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isSqlServer()"> - SELECT cast(D.NAME as nvarchar) as table_name, - cast(F.VALUE as nvarchar) as table_comment, - crdate as create_time, - refdate as update_time - FROM SYSOBJECTS D - INNER JOIN SYS.EXTENDED_PROPERTIES F ON D.ID = F.MAJOR_ID - AND F.MINOR_ID = 0 AND D.XTYPE = 'U' AND D.NAME != 'DTPROPERTIES' - AND D.NAME NOT LIKE 'sj_%' AND D.NAME NOT LIKE 'gen_%' - AND D.NAME NOT LIKE 'act_%' AND D.NAME NOT LIKE 'flw_%' - AND D.NAME in - <foreach collection="array" item="name" open="(" separator="," close=")"> - #{name} - </foreach> - </if> - </select> - - <select id="selectTableByName" parameterType="String" resultMap="GenTableResult"> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isMySql()"> - select table_name, table_comment, create_time, update_time from information_schema.tables - where table_schema = (select database()) - and table_name NOT LIKE 'sj_%' and table_name NOT LIKE 'gen_%' - and table_name NOT LIKE 'act_%' AND table_name NOT LIKE 'flw_%' - and table_name = #{tableName} - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isOracle()"> - select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time - from user_tables dt, user_tab_comments dtc, user_objects uo - where dt.table_name = dtc.table_name - and dt.table_name = uo.object_name - and uo.object_type = 'TABLE' - AND dt.table_name NOT LIKE 'SJ_%' AND dt.table_name NOT LIKE 'GEN_%' - AND dt.table_name NOT LIKE 'ACT_%' AND dt.table_name NOT LIKE 'FLW_%' - AND dt.table_name NOT IN (select table_name from gen_table) - and lower(dt.table_name) = #{tableName} - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isPostgerSql()"> - select table_name, table_comment, create_time, update_time - from ( - SELECT c.relname AS table_name, - obj_description(c.oid) AS table_comment, - CURRENT_TIMESTAMP AS create_time, - CURRENT_TIMESTAMP AS update_time - FROM pg_class c - LEFT JOIN pg_namespace n ON n.oid = c.relnamespace - WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"])) - AND c.relname != 'spatial_%'::text - AND n.nspname = 'public'::name - AND n.nspname <![CDATA[ <> ]]> ''::name - ) list_table - where table_name NOT LIKE 'sj_%' and table_name NOT LIKE 'gen_%' - and table_name NOT LIKE 'act_%' and table_name NOT LIKE 'flw_%' - and table_name = #{tableName} - </if> - <if test="@org.dromara.common.mybatis.helper.DataBaseHelper@isSqlServer()"> - SELECT cast(D.NAME as nvarchar) as table_name, - cast(F.VALUE as nvarchar) as table_comment, - crdate as create_time, - refdate as update_time - FROM SYSOBJECTS D - INNER JOIN SYS.EXTENDED_PROPERTIES F ON D.ID = F.MAJOR_ID - AND F.MINOR_ID = 0 AND D.XTYPE = 'U' AND D.NAME != 'DTPROPERTIES' - AND D.NAME NOT LIKE 'sj_%' AND D.NAME NOT LIKE 'gen_%' - AND D.NAME NOT LIKE 'act_%' AND D.NAME NOT LIKE 'flw_%' - AND D.NAME = #{tableName} - </if> - </select> - - <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult"> + <sql id="genSelect"> SELECT t.table_id, t.data_name, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort FROM gen_table t - LEFT JOIN gen_table_column c ON t.table_id = c.table_id + LEFT JOIN gen_table_column c ON t.table_id = c.table_id + </sql> + + <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult"> + <include refid="genSelect"/> where t.table_id = #{tableId} order by c.sort </select> <select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult"> - SELECT t.table_id, t.data_name, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, - c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort - FROM gen_table t - LEFT JOIN gen_table_column c ON t.table_id = c.table_id + <include refid="genSelect"/> where t.table_name = #{tableName} order by c.sort </select> <select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult"> - SELECT t.table_id, t.data_name, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.options, t.remark, - c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort - FROM gen_table t - LEFT JOIN gen_table_column c ON t.table_id = c.table_id + <include refid="genSelect"/> order by c.sort </select> -- Gitblit v1.9.3