From 97849846c5392dc26cae0ae1925eadc9923fcddb Mon Sep 17 00:00:00 2001 From: phanes <5411232+phanes@user.noreply.gitee.com> Date: Mon, 7 Mar 2022 14:21:40 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20SQL=20=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E5=92=8C=E6=94=B9=E8=BF=9B=20Oracle=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E7=9A=84=20Date=20=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96=E7=9A=84=E4=BF=AE=E6=94=B9=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/application-dev.yml | 2 ++ .../service/OracleGenTableServiceImpl.java | 6 +++--- .../mapper/generator/OracleGenTableMapper.xml | 14 ++++++-------- script/sql/oracle/oracle_ry_vue_4.X.sql | 13 ------------- 4 files changed, 11 insertions(+), 24 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 0bf7f6d07..a7930efae 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -92,6 +92,8 @@ spring: testOnReturn: false # 注意这个值和druid原生不一致,默认启动了stat filters: stat + # 物理连接初始化的时候执行的 SQL,设置 Oracle 默认的 Date 类型格式化,简化时间查询 + initConnectionSqls: ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' --- # druid 配置 spring: diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/OracleGenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/OracleGenTableServiceImpl.java index 79550d596..c42d1ca5f 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/OracleGenTableServiceImpl.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/OracleGenTableServiceImpl.java @@ -127,9 +127,9 @@ public class OracleGenTableServiceImpl extends BaseGenTableServiceImpl { wrapper.apply("dt.table_name = dtc.table_name") .apply("dt.table_name = uo.object_name") .eq("uo.object_type ", "TABLE") - .notLike("dt.table_name", "XXL_JOB_") - .notLike("dt.table_name", "GEN_") - .notInSql("lower(dt.table_name)", "select table_name from gen_table") + .apply("dt.table_name not like 'XXL_JOB_%'") + .apply("dt.table_name not like 'GEN_%'") + .apply("not exists (select (1) from gen_table gt where gt.table_name = lower(dt.table_name))") .like(StringUtils.isNotBlank(genTable.getTableName()), "lower(dt.table_name)", StringUtils.lowerCase(genTable.getTableName())) .like(StringUtils.isNotBlank(genTable.getTableComment()), "lower(dt.table_comment)", StringUtils.lowerCase(genTable.getTableComment())) .between(params.get("beginTime") != null && params.get("endTime") != null, diff --git a/ruoyi-generator/src/main/resources/mapper/generator/OracleGenTableMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/OracleGenTableMapper.xml index 5bf1a2006..c2ec8b173 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/OracleGenTableMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/OracleGenTableMapper.xml @@ -68,11 +68,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 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 + 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 dt.table_name NOT IN (select table_name from gen_table) + and dt.table_name not like 'XXL_JOB_%' and dt.table_name not like 'GEN_%' + and not exists (select (1) from gen_table gt where gt.table_name = lower(dt.table_name)) and lower(dt.table_name) = #{tableName} diff --git a/script/sql/oracle/oracle_ry_vue_4.X.sql b/script/sql/oracle/oracle_ry_vue_4.X.sql index 5342d1401..c13f5ac45 100644 --- a/script/sql/oracle/oracle_ry_vue_4.X.sql +++ b/script/sql/oracle/oracle_ry_vue_4.X.sql @@ -952,16 +952,3 @@ begin select instr(','||arg2||',' , ','||arg1||',') into Result from dual; return(Result); end find_in_set; - -/ -- 函数分隔符 - --- ---------------------------- --- 钩子 ,用于session连接之后 自动设置默认的date类型格式化 简化时间查询 --- 如需设置其它配置 可在此钩子内任意增加处理语句 --- 例如: SELECT * FROM sys_user WHERE create_time BETWEEN '2022-03-01 00:00:00' AND '2022-04-01 00:00:00' --- ---------------------------- -create or replace trigger login_trg -after logon on database -begin -execute immediate 'alter session set nls_date_format=''YYYY-MM-DD HH24:MI:SS'''; -end login_trg;