From 7e1f024d28c86987b944f62cc307500cb971332f Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 23 三月 2022 15:02:38 +0800 Subject: [PATCH] update 适配 sqlserver 代码生成 解决一下小问题 --- ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml | 89 +++++++++++++++++--------------------------- 1 files changed, 34 insertions(+), 55 deletions(-) diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml index b66b25d..2f17694 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -109,64 +109,22 @@ order by create_time desc </if> <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()"> - </if> - </select> - - <select id="selectDbTableList" resultMap="GenTableResult"> - <if test="@com.ruoyi.common.helper.DataBaseHelper@isMySql()"> - select table_name, table_comment, create_time, update_time - from information_schema.tables - AND table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%' - AND table_name NOT IN (select table_name from gen_table) - <if test="tableName != null and tableName != ''"> - AND lower(table_name) like lower(concat('%', #{tableName}, '%')) - </if> - <if test="tableComment != null and tableComment != ''"> - AND lower(table_comment) like lower(concat('%', #{tableComment}, '%')) - </if> - order by create_time desc - </if> - <if test="@com.ruoyi.common.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 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%' - AND lower(dt.table_name) NOT IN (select table_name from gen_table) - <if test="tableName != null and tableName != ''"> - AND lower(dt.table_name) like lower(concat(concat('%', #{tableName}), '%')) - </if> - <if test="tableComment != null and tableComment != ''"> - AND lower(dtc.comments) like lower(concat(concat('%', #{tableComment}), '%')) - </if> - order by create_time desc - </if> - <if test="@com.ruoyi.common.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 'xxl_job_%' AND table_name NOT LIKE 'gen_%' - AND table_name NOT IN (select table_name from gen_table) + 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 'xxl_job_%' AND D.NAME NOT LIKE 'gen_%' + AND D.NAME NOT IN (select table_name from gen_table) <if test="genTable.tableName != null and genTable.tableName != ''"> - AND lower(table_name) like lower(concat('%', #{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(table_comment) like lower(concat('%', #{genTable.tableComment}, '%')) + AND lower(CAST(F.VALUE AS nvarchar)) like lower(concat(N'%', N'${genTable.tableComment}', N'%')) </if> - order by create_time desc - </if> - <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()"> + order by crdate desc </if> </select> @@ -213,13 +171,25 @@ </foreach> </if> <if test="@com.ruoyi.common.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 'xxl_job_%' AND D.NAME NOT LIKE 'gen_%' + 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="@com.ruoyi.common.helper.DataBaseHelper@isMySql()"> select table_name, table_comment, create_time, update_time from information_schema.tables - where table_comment <![CDATA[ <> ]]> '' and table_schema = (select database()) + where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database()) and table_name = #{tableName} </if> <if test="@com.ruoyi.common.helper.DataBaseHelper@isOracle()"> @@ -250,6 +220,15 @@ and table_name = #{tableName} </if> <if test="@com.ruoyi.common.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 'xxl_job_%' AND D.NAME NOT LIKE 'gen_%' + AND D.NAME = #{tableName} </if> </select> -- Gitblit v1.9.3