From 12f5327e0efc18be9d1c7b7a37364a55d113398f Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 15 三月 2022 11:58:53 +0800 Subject: [PATCH] add 增加 oracle postgres sqlserver 模板sql --- ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 40 insertions(+), 8 deletions(-) diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml index be07a9c..4614dd4 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.generator.mapper.GenTableColumnMapper"> - + <resultMap type="GenTableColumn" id="GenTableColumnResult"> <id property="columnId" column="column_id" /> <result property="tableId" column="table_id" /> @@ -28,11 +28,43 @@ <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> </resultMap> - - <select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult"> - select column_name, (case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else null end) as is_required, (case when column_key = 'PRI' then '1' else '0' end) as is_pk, ordinal_position as sort, column_comment, (case when extra = 'auto_increment' then '1' else '0' end) as is_increment, column_type - from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName}) - order by ordinal_position - </select> -</mapper> \ No newline at end of file + <select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult"> + <if test="@com.ruoyi.common.helper.DataBaseHelper@isMySql()"> + select column_name, + (case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else null end) as is_required, + (case when column_key = 'PRI' then '1' else '0' end) as is_pk, + ordinal_position as sort, + column_comment, + (case when extra = 'auto_increment' then '1' else '0' end) as is_increment, + column_type + from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName}) + order by ordinal_position + </if> + <if test="@com.ruoyi.common.helper.DataBaseHelper@isOracle()"> + select lower(temp.column_name) as column_name, + (case when (temp.nullable = 'N' and temp.constraint_type != 'P') then '1' else null end) as is_required, + (case when temp.constraint_type = 'P' then '1' else '0' end) as is_pk, + temp.column_id as sort, + temp.comments as column_comment, + (case when temp.constraint_type = 'P' then '1' else '0' end) as is_increment, + lower(temp.data_type) as column_type + from ( + select col.column_id, col.column_name,col.nullable, col.data_type, colc.comments, uc.constraint_type, row_number() + over (partition by col.column_name order by uc.constraint_type desc) as row_flg + from user_tab_columns col + left join user_col_comments colc on colc.table_name = col.table_name and colc.column_name = col.column_name + left join user_cons_columns ucc on ucc.table_name = col.table_name and ucc.column_name = col.column_name + left join user_constraints uc on uc.constraint_name = ucc.constraint_name + where col.table_name = upper(#{tableName}) + ) temp + WHERE temp.row_flg = 1 + ORDER BY temp.column_id + </if> + <if test="@com.ruoyi.common.helper.DataBaseHelper@isPostgerSql()"> + </if> + <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()"> + </if> + </select> + +</mapper> -- Gitblit v1.9.3