<?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.pz.generator.mapper.GenTableMapper"> <resultMap type="GenTable" id="GenTableResult"> <id property="tableId" column="table_id" /> <result property="tableName" column="table_name" /> <result property="tableComment" column="table_comment" /> <result property="subTableName" column="sub_table_name" /> <result property="subTableFkName" column="sub_table_fk_name" /> <result property="className" column="class_name" /> <result property="tplCategory" column="tpl_category" /> <result property="packageName" column="package_name" /> <result property="moduleName" column="module_name" /> <result property="businessName" column="business_name" /> <result property="functionName" column="function_name" /> <result property="functionAuthor" column="function_author" /> <result property="genType" column="gen_type" /> <result property="genPath" column="gen_path" /> <result property="options" column="options" /> <result property="createBy" column="create_by" /> <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> <result property="remark" column="remark" /> <collection property="columns" javaType="java.util.List" resultMap="GenTableColumnResult" /> </resultMap> <resultMap type="GenTableColumn" id="GenTableColumnResult"> <id property="columnId" column="column_id" /> <result property="tableId" column="table_id" /> <result property="columnName" column="column_name" /> <result property="columnComment" column="column_comment" /> <result property="columnType" column="column_type" /> <result property="javaType" column="java_type" /> <result property="javaField" column="java_field" /> <result property="isPk" column="is_pk" /> <result property="isIncrement" column="is_increment" /> <result property="isRequired" column="is_required" /> <result property="isInsert" column="is_insert" /> <result property="isEdit" column="is_edit" /> <result property="isList" column="is_list" /> <result property="isQuery" column="is_query" /> <result property="queryType" column="query_type" /> <result property="htmlType" column="html_type" /> <result property="dictType" column="dict_type" /> <result property="sort" column="sort" /> <result property="createBy" column="create_by" /> <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> </resultMap> <select id="selectPageDbTableList" resultMap="GenTableResult"> <if test="@com.pz.common.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 'xxl_job_%' AND table_name NOT LIKE 'gen_%' AND table_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}, '%')) </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="@com.pz.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="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="@com.pz.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) <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="@com.pz.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 NOT IN (select table_name from gen_table) <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="@com.pz.common.helper.DataBaseHelper@isMySql()"> select table_name, table_comment, create_time, update_time from information_schema.tables where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database()) and table_name in <foreach collection="array" item="name" open="(" separator="," close=")"> #{name} </foreach> </if> <if test="@com.pz.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 dt.table_name NOT IN (select table_name from gen_table) and lower(dt.table_name) in <foreach collection="array" item="name" open="(" separator="," close=")"> #{name} </foreach> </if> <if test="@com.pz.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 in <foreach collection="array" item="name" open="(" separator="," close=")"> #{name} </foreach> </if> <if test="@com.pz.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.pz.common.helper.DataBaseHelper@isMySql()"> select table_name, table_comment, create_time, update_time from information_schema.tables 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.pz.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 dt.table_name NOT IN (select table_name from gen_table) and lower(dt.table_name) = #{tableName} </if> <if test="@com.pz.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 = #{tableName} </if> <if test="@com.pz.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> <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult"> SELECT t.table_id, 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 where t.table_id = #{tableId} order by c.sort </select> <select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult"> SELECT t.table_id, 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 where t.table_name = #{tableName} order by c.sort </select> <select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult"> SELECT t.table_id, 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 order by c.sort </select> </mapper>