Digital Office Automation System Backend
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

GenTableMapper.xml 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  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. SELECT cast(D.NAME as nvarchar) as table_name,
  110. cast(F.VALUE as nvarchar) as table_comment,
  111. crdate as create_time,
  112. refdate as update_time
  113. FROM SYSOBJECTS D
  114. INNER JOIN SYS.EXTENDED_PROPERTIES F ON D.ID = F.MAJOR_ID
  115. AND F.MINOR_ID = 0 AND D.XTYPE = 'U' AND D.NAME != 'DTPROPERTIES'
  116. AND D.NAME NOT LIKE 'xxl_job_%' AND D.NAME NOT LIKE 'gen_%'
  117. AND D.NAME NOT IN (select table_name from gen_table)
  118. <if test="genTable.tableName != null and genTable.tableName != ''">
  119. AND lower(D.NAME) like lower(concat(N'%', N'${genTable.tableName}', N'%'))
  120. </if>
  121. <if test="genTable.tableComment != null and genTable.tableComment != ''">
  122. AND lower(CAST(F.VALUE AS nvarchar)) like lower(concat(N'%', N'${genTable.tableComment}', N'%'))
  123. </if>
  124. order by crdate desc
  125. </if>
  126. </select>
  127. <select id="selectDbTableListByNames" resultMap="GenTableResult">
  128. <if test="@com.ruoyi.common.helper.DataBaseHelper@isMySql()">
  129. select table_name, table_comment, create_time, update_time from information_schema.tables
  130. where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database())
  131. and table_name in
  132. <foreach collection="array" item="name" open="(" separator="," close=")">
  133. #{name}
  134. </foreach>
  135. </if>
  136. <if test="@com.ruoyi.common.helper.DataBaseHelper@isOracle()">
  137. 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
  138. from user_tables dt, user_tab_comments dtc, user_objects uo
  139. where dt.table_name = dtc.table_name
  140. and dt.table_name = uo.object_name
  141. and uo.object_type = 'TABLE'
  142. AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%'
  143. AND dt.table_name NOT IN (select table_name from gen_table)
  144. and lower(dt.table_name) in
  145. <foreach collection="array" item="name" open="(" separator="," close=")">
  146. #{name}
  147. </foreach>
  148. </if>
  149. <if test="@com.ruoyi.common.helper.DataBaseHelper@isPostgerSql()">
  150. select table_name, table_comment, create_time, update_time
  151. from (
  152. SELECT c.relname AS table_name,
  153. obj_description(c.oid) AS table_comment,
  154. CURRENT_TIMESTAMP AS create_time,
  155. CURRENT_TIMESTAMP AS update_time
  156. FROM pg_class c
  157. LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
  158. WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"]))
  159. AND c.relname != 'spatial_%'::text
  160. AND n.nspname = 'public'::name
  161. AND n.nspname <![CDATA[ <> ]]> ''::name
  162. ) list_table
  163. where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%'
  164. and table_name in
  165. <foreach collection="array" item="name" open="(" separator="," close=")">
  166. #{name}
  167. </foreach>
  168. </if>
  169. <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()">
  170. SELECT cast(D.NAME as nvarchar) as table_name,
  171. cast(F.VALUE as nvarchar) as table_comment,
  172. crdate as create_time,
  173. refdate as update_time
  174. FROM SYSOBJECTS D
  175. INNER JOIN SYS.EXTENDED_PROPERTIES F ON D.ID = F.MAJOR_ID
  176. AND F.MINOR_ID = 0 AND D.XTYPE = 'U' AND D.NAME != 'DTPROPERTIES'
  177. AND D.NAME NOT LIKE 'xxl_job_%' AND D.NAME NOT LIKE 'gen_%'
  178. AND D.NAME in
  179. <foreach collection="array" item="name" open="(" separator="," close=")">
  180. #{name}
  181. </foreach>
  182. </if>
  183. </select>
  184. <select id="selectTableByName" parameterType="String" resultMap="GenTableResult">
  185. <if test="@com.ruoyi.common.helper.DataBaseHelper@isMySql()">
  186. select table_name, table_comment, create_time, update_time from information_schema.tables
  187. where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database())
  188. and table_name = #{tableName}
  189. </if>
  190. <if test="@com.ruoyi.common.helper.DataBaseHelper@isOracle()">
  191. 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
  192. from user_tables dt, user_tab_comments dtc, user_objects uo
  193. where dt.table_name = dtc.table_name
  194. and dt.table_name = uo.object_name
  195. and uo.object_type = 'TABLE'
  196. AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%'
  197. AND dt.table_name NOT IN (select table_name from gen_table)
  198. and lower(dt.table_name) = #{tableName}
  199. </if>
  200. <if test="@com.ruoyi.common.helper.DataBaseHelper@isPostgerSql()">
  201. select table_name, table_comment, create_time, update_time
  202. from (
  203. SELECT c.relname AS table_name,
  204. obj_description(c.oid) AS table_comment,
  205. CURRENT_TIMESTAMP AS create_time,
  206. CURRENT_TIMESTAMP AS update_time
  207. FROM pg_class c
  208. LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
  209. WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"]))
  210. AND c.relname != 'spatial_%'::text
  211. AND n.nspname = 'public'::name
  212. AND n.nspname <![CDATA[ <> ]]> ''::name
  213. ) list_table
  214. where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%'
  215. and table_name = #{tableName}
  216. </if>
  217. <if test="@com.ruoyi.common.helper.DataBaseHelper@isSqlServer()">
  218. SELECT cast(D.NAME as nvarchar) as table_name,
  219. cast(F.VALUE as nvarchar) as table_comment,
  220. crdate as create_time,
  221. refdate as update_time
  222. FROM SYSOBJECTS D
  223. INNER JOIN SYS.EXTENDED_PROPERTIES F ON D.ID = F.MAJOR_ID
  224. AND F.MINOR_ID = 0 AND D.XTYPE = 'U' AND D.NAME != 'DTPROPERTIES'
  225. AND D.NAME NOT LIKE 'xxl_job_%' AND D.NAME NOT LIKE 'gen_%'
  226. AND D.NAME = #{tableName}
  227. </if>
  228. </select>
  229. <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult">
  230. 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,
  231. 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
  232. FROM gen_table t
  233. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  234. where t.table_id = #{tableId} order by c.sort
  235. </select>
  236. <select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult">
  237. 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,
  238. 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
  239. FROM gen_table t
  240. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  241. where t.table_name = #{tableName} order by c.sort
  242. </select>
  243. <select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult">
  244. 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,
  245. 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
  246. FROM gen_table t
  247. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  248. order by c.sort
  249. </select>
  250. </mapper>