GenTableMapper.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ruoyi.generator.mapper.GenTableMapper">
  6. <resultMap type="GenTable" id="GenTableResult">
  7. <id property="tableId" column="table_id" />
  8. <result property="tableName" column="table_name" />
  9. <result property="tableComment" column="table_comment" />
  10. <result property="subTableName" column="sub_table_name" />
  11. <result property="subTableFkName" column="sub_table_fk_name" />
  12. <result property="className" column="class_name" />
  13. <result property="tplCategory" column="tpl_category" />
  14. <result property="packageName" column="package_name" />
  15. <result property="moduleName" column="module_name" />
  16. <result property="businessName" column="business_name" />
  17. <result property="functionName" column="function_name" />
  18. <result property="functionAuthor" column="function_author" />
  19. <result property="genType" column="gen_type" />
  20. <result property="genPath" column="gen_path" />
  21. <result property="options" column="options" />
  22. <result property="createBy" column="create_by" />
  23. <result property="createTime" column="create_time" />
  24. <result property="updateBy" column="update_by" />
  25. <result property="updateTime" column="update_time" />
  26. <result property="remark" column="remark" />
  27. <collection property="columns" javaType="java.util.List" resultMap="GenTableColumnResult" />
  28. </resultMap>
  29. <resultMap type="GenTableColumn" id="GenTableColumnResult">
  30. <id property="columnId" column="column_id" />
  31. <result property="tableId" column="table_id" />
  32. <result property="columnName" column="column_name" />
  33. <result property="columnComment" column="column_comment" />
  34. <result property="columnType" column="column_type" />
  35. <result property="javaType" column="java_type" />
  36. <result property="javaField" column="java_field" />
  37. <result property="isPk" column="is_pk" />
  38. <result property="isIncrement" column="is_increment" />
  39. <result property="isRequired" column="is_required" />
  40. <result property="isInsert" column="is_insert" />
  41. <result property="isEdit" column="is_edit" />
  42. <result property="isList" column="is_list" />
  43. <result property="isQuery" column="is_query" />
  44. <result property="queryType" column="query_type" />
  45. <result property="htmlType" column="html_type" />
  46. <result property="dictType" column="dict_type" />
  47. <result property="sort" column="sort" />
  48. <result property="createBy" column="create_by" />
  49. <result property="createTime" column="create_time" />
  50. <result property="updateBy" column="update_by" />
  51. <result property="updateTime" column="update_time" />
  52. </resultMap>
  53. <select id="selectPageDbTableList" resultMap="GenTableResult">
  54. <if test="@com.ruoyi.common.helper.DataBaseHelper@isMySql()">
  55. select table_name, table_comment, create_time, update_time
  56. from information_schema.tables
  57. where table_schema = (select database())
  58. AND table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%'
  59. AND table_name NOT IN (select table_name from gen_table)
  60. <if test="genTable.tableName != null and genTable.tableName != ''">
  61. AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%'))
  62. </if>
  63. <if test="genTable.tableComment != null and genTable.tableComment != ''">
  64. AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%'))
  65. </if>
  66. order by create_time desc
  67. </if>
  68. <if test="@com.ruoyi.common.helper.DataBaseHelper@isOracle()">
  69. 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
  70. from user_tables dt, user_tab_comments dtc, user_objects uo
  71. where dt.table_name = dtc.table_name
  72. and dt.table_name = uo.object_name
  73. and uo.object_type = 'TABLE'
  74. AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%'
  75. AND lower(dt.table_name) NOT IN (select table_name from gen_table)
  76. <if test="genTable.tableName != null and genTable.tableName != ''">
  77. AND lower(dt.table_name) like lower(concat(concat('%', #{genTable.tableName}), '%'))
  78. </if>
  79. <if test="genTable.tableComment != null and genTable.tableComment != ''">
  80. AND lower(dtc.comments) like lower(concat(concat('%', #{genTable.tableComment}), '%'))
  81. </if>
  82. order by create_time desc
  83. </if>
  84. <if test="@com.ruoyi.common.helper.DataBaseHelper@isPostgerSql()">
  85. select table_name, table_comment, create_time, update_time
  86. from (
  87. SELECT c.relname AS table_name,
  88. obj_description(c.oid) AS table_comment,
  89. CURRENT_TIMESTAMP AS create_time,
  90. CURRENT_TIMESTAMP AS update_time
  91. FROM pg_class c
  92. LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
  93. WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"]))
  94. AND c.relname != 'spatial_%'::text
  95. AND n.nspname = 'public'::name
  96. AND n.nspname <![CDATA[ <> ]]> ''::name
  97. ) list_table
  98. where table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%'
  99. AND table_name NOT IN (select table_name from gen_table)
  100. <if test="genTable.tableName != null and genTable.tableName != ''">
  101. AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%'))
  102. </if>
  103. <if test="genTable.tableComment != null and genTable.tableComment != ''">
  104. AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%'))
  105. </if>
  106. order by create_time desc
  107. </if>
  108. <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()">
  109. </if>
  110. </select>
  111. <select id="selectDbTableList" resultMap="GenTableResult">
  112. <if test="@com.ruoyi.common.helper.DataBaseHelper@isMySql()">
  113. select table_name, table_comment, create_time, update_time
  114. from information_schema.tables
  115. AND table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%'
  116. AND table_name NOT IN (select table_name from gen_table)
  117. <if test="tableName != null and tableName != ''">
  118. AND lower(table_name) like lower(concat('%', #{tableName}, '%'))
  119. </if>
  120. <if test="tableComment != null and tableComment != ''">
  121. AND lower(table_comment) like lower(concat('%', #{tableComment}, '%'))
  122. </if>
  123. order by create_time desc
  124. </if>
  125. <if test="@com.ruoyi.common.helper.DataBaseHelper@isOracle()">
  126. 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
  127. from user_tables dt, user_tab_comments dtc, user_objects uo
  128. where dt.table_name = dtc.table_name
  129. and dt.table_name = uo.object_name
  130. and uo.object_type = 'TABLE'
  131. AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%'
  132. AND lower(dt.table_name) NOT IN (select table_name from gen_table)
  133. <if test="tableName != null and tableName != ''">
  134. AND lower(dt.table_name) like lower(concat(concat('%', #{tableName}), '%'))
  135. </if>
  136. <if test="tableComment != null and tableComment != ''">
  137. AND lower(dtc.comments) like lower(concat(concat('%', #{tableComment}), '%'))
  138. </if>
  139. order by create_time desc
  140. </if>
  141. <if test="@com.ruoyi.common.helper.DataBaseHelper@isPostgerSql()">
  142. select table_name, table_comment, create_time, update_time
  143. from (
  144. SELECT c.relname AS table_name,
  145. obj_description(c.oid) AS table_comment,
  146. CURRENT_TIMESTAMP AS create_time,
  147. CURRENT_TIMESTAMP AS update_time
  148. FROM pg_class c
  149. LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
  150. WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"]))
  151. AND c.relname != 'spatial_%'::text
  152. AND n.nspname = 'public'::name
  153. AND n.nspname <![CDATA[ <> ]]> ''::name
  154. ) list_table
  155. where table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%'
  156. AND table_name NOT IN (select table_name from gen_table)
  157. <if test="genTable.tableName != null and genTable.tableName != ''">
  158. AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%'))
  159. </if>
  160. <if test="genTable.tableComment != null and genTable.tableComment != ''">
  161. AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%'))
  162. </if>
  163. order by create_time desc
  164. </if>
  165. <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()">
  166. </if>
  167. </select>
  168. <select id="selectDbTableListByNames" resultMap="GenTableResult">
  169. <if test="@com.ruoyi.common.helper.DataBaseHelper@isMySql()">
  170. select table_name, table_comment, create_time, update_time from information_schema.tables
  171. where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database())
  172. and table_name in
  173. <foreach collection="array" item="name" open="(" separator="," close=")">
  174. #{name}
  175. </foreach>
  176. </if>
  177. <if test="@com.ruoyi.common.helper.DataBaseHelper@isOracle()">
  178. 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
  179. from user_tables dt, user_tab_comments dtc, user_objects uo
  180. where dt.table_name = dtc.table_name
  181. and dt.table_name = uo.object_name
  182. and uo.object_type = 'TABLE'
  183. AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%'
  184. AND dt.table_name NOT IN (select table_name from gen_table)
  185. and lower(dt.table_name) in
  186. <foreach collection="array" item="name" open="(" separator="," close=")">
  187. #{name}
  188. </foreach>
  189. </if>
  190. <if test="@com.ruoyi.common.helper.DataBaseHelper@isPostgerSql()">
  191. select table_name, table_comment, create_time, update_time
  192. from (
  193. SELECT c.relname AS table_name,
  194. obj_description(c.oid) AS table_comment,
  195. CURRENT_TIMESTAMP AS create_time,
  196. CURRENT_TIMESTAMP AS update_time
  197. FROM pg_class c
  198. LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
  199. WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"]))
  200. AND c.relname != 'spatial_%'::text
  201. AND n.nspname = 'public'::name
  202. AND n.nspname <![CDATA[ <> ]]> ''::name
  203. ) list_table
  204. where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%'
  205. and table_name in
  206. <foreach collection="array" item="name" open="(" separator="," close=")">
  207. #{name}
  208. </foreach>
  209. </if>
  210. <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()">
  211. </if>
  212. </select>
  213. <select id="selectTableByName" parameterType="String" resultMap="GenTableResult">
  214. <if test="@com.ruoyi.common.helper.DataBaseHelper@isMySql()">
  215. select table_name, table_comment, create_time, update_time from information_schema.tables
  216. where table_comment <![CDATA[ <> ]]> '' and table_schema = (select database())
  217. and table_name = #{tableName}
  218. </if>
  219. <if test="@com.ruoyi.common.helper.DataBaseHelper@isOracle()">
  220. 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
  221. from user_tables dt, user_tab_comments dtc, user_objects uo
  222. where dt.table_name = dtc.table_name
  223. and dt.table_name = uo.object_name
  224. and uo.object_type = 'TABLE'
  225. AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%'
  226. AND dt.table_name NOT IN (select table_name from gen_table)
  227. and lower(dt.table_name) = #{tableName}
  228. </if>
  229. <if test="@com.ruoyi.common.helper.DataBaseHelper@isPostgerSql()">
  230. select table_name, table_comment, create_time, update_time
  231. from (
  232. SELECT c.relname AS table_name,
  233. obj_description(c.oid) AS table_comment,
  234. CURRENT_TIMESTAMP AS create_time,
  235. CURRENT_TIMESTAMP AS update_time
  236. FROM pg_class c
  237. LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
  238. WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"]))
  239. AND c.relname != 'spatial_%'::text
  240. AND n.nspname = 'public'::name
  241. AND n.nspname <![CDATA[ <> ]]> ''::name
  242. ) list_table
  243. where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%'
  244. and table_name = #{tableName}
  245. </if>
  246. <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()">
  247. </if>
  248. </select>
  249. <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult">
  250. 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,
  251. 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
  252. FROM gen_table t
  253. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  254. where t.table_id = #{tableId} order by c.sort
  255. </select>
  256. <select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult">
  257. 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,
  258. 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
  259. FROM gen_table t
  260. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  261. where t.table_name = #{tableName} order by c.sort
  262. </select>
  263. <select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult">
  264. 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,
  265. 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
  266. FROM gen_table t
  267. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  268. order by c.sort
  269. </select>
  270. </mapper>