GenTableMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  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.phm.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. <sql id="selectGenTableVo">
  54. select table_id,
  55. table_name,
  56. table_comment,
  57. sub_table_name,
  58. sub_table_fk_name,
  59. class_name,
  60. tpl_category,
  61. package_name,
  62. module_name,
  63. business_name,
  64. function_name,
  65. function_author,
  66. gen_type,
  67. gen_path,
  68. options,
  69. create_by,
  70. create_time,
  71. update_by,
  72. update_time,
  73. remark
  74. from gen_table
  75. </sql>
  76. <select id="selectGenTableList" parameterType="GenTable" resultMap="GenTableResult">
  77. <include refid="selectGenTableVo"/>
  78. <where>
  79. <if test="tableName != null and tableName != ''">
  80. AND lower(table_name) like lower(concat('%', #{tableName}, '%'))
  81. </if>
  82. <if test="tableComment != null and tableComment != ''">
  83. AND lower(table_comment) like lower(concat('%', #{tableComment}, '%'))
  84. </if>
  85. <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
  86. AND date_format(create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  87. </if>
  88. <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
  89. AND date_format(create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  90. </if>
  91. </where>
  92. </select>
  93. <select id="selectDbTableList" parameterType="GenTable" resultMap="GenTableResult">
  94. select so.NAME table_name, st.COMMENT$ table_comment, so.CRTDATE create_time from SYS.SYSOBJECTS so left join
  95. SYS.SYSTABLECOMMENTS st on so.NAME = st.TVNAME and st.TABLE_TYPE = 'TABLE' and st.SCHNAME = (select CURR_SCH
  96. from V$SESSIONS LIMIT 1)
  97. where so.TYPE$='SCHOBJ' and so.SUBTYPE$='UTAB' and so.PID = -1 and INSTR(so.NAME,'##') = 0 and so.SCHID =
  98. (select ID from SYS.SYSOBJECTS where TYPE$='SCH' and NAME= (select CURR_SCH from V$SESSIONS LIMIT 1)) and
  99. so.NAME NOT LIKE 'QRTZ_%' AND so.NAME NOT LIKE 'gen_%'
  100. and so.NAME NOT IN (select table_name from gen_table)
  101. <if test="tableName != null and tableName != ''">
  102. and lower(so.NAME) like lower(concat('%', #{tableName}, '%'))
  103. </if>
  104. <if test="tableComment != null and tableComment != ''">
  105. and lower(st.COMMENT$) like lower(concat('%', #{tableComment}, '%'))
  106. </if>
  107. order by so.CRTDATE desc
  108. </select>
  109. <select id="selectDbTableListByNames" resultMap="GenTableResult">
  110. select so.NAME table_name, st.COMMENT$ table_comment, so.CRTDATE create_time from SYS.SYSOBJECTS so left join
  111. SYS.SYSTABLECOMMENTS st on so.NAME = st.TVNAME and st.TABLE_TYPE = 'TABLE' and st.SCHNAME = (select CURR_SCH
  112. from V$SESSIONS LIMIT 1)
  113. where so.TYPE$='SCHOBJ' and so.SUBTYPE$='UTAB' and so.PID = -1 and INSTR(so.NAME,'##') = 0 and so.SCHID =
  114. (select ID from SYS.SYSOBJECTS where TYPE$='SCH' and NAME= (select CURR_SCH from V$SESSIONS LIMIT 1)) and
  115. so.NAME NOT LIKE 'qrtz_%' and so.NAME NOT LIKE 'gen_%'
  116. and so.NAME in
  117. <foreach collection="array" item="name" open="(" separator="," close=")">
  118. #{name}
  119. </foreach>
  120. </select>
  121. <select id="selectTableByName" parameterType="String" resultMap="GenTableResult">
  122. select table_name, table_comment, create_time, update_time
  123. from information_schema.tables
  124. where table_comment <![CDATA[ <> ]]> ''
  125. and table_schema = (select database())
  126. and table_name = #{tableName}
  127. </select>
  128. <select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult">
  129. SELECT t.table_id,
  130. t.table_name,
  131. t.table_comment,
  132. t.sub_table_name,
  133. t.sub_table_fk_name,
  134. t.class_name,
  135. t.tpl_category,
  136. t.package_name,
  137. t.module_name,
  138. t.business_name,
  139. t.function_name,
  140. t.function_author,
  141. t.gen_type,
  142. t.gen_path,
  143. t.options,
  144. t.remark,
  145. c.column_id,
  146. c.column_name,
  147. c.column_comment,
  148. c.column_type,
  149. c.java_type,
  150. c.java_field,
  151. c.is_pk,
  152. c.is_increment,
  153. c.is_required,
  154. c.is_insert,
  155. c.is_edit,
  156. c.is_list,
  157. c.is_query,
  158. c.query_type,
  159. c.html_type,
  160. c.dict_type,
  161. c.sort
  162. FROM gen_table t
  163. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  164. where t.table_id = #{tableId}
  165. order by c.sort
  166. </select>
  167. <select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult">
  168. SELECT t.table_id,
  169. t.table_name,
  170. t.table_comment,
  171. t.sub_table_name,
  172. t.sub_table_fk_name,
  173. t.class_name,
  174. t.tpl_category,
  175. t.package_name,
  176. t.module_name,
  177. t.business_name,
  178. t.function_name,
  179. t.function_author,
  180. t.gen_type,
  181. t.gen_path,
  182. t.options,
  183. t.remark,
  184. c.column_id,
  185. c.column_name,
  186. c.column_comment,
  187. c.column_type,
  188. c.java_type,
  189. c.java_field,
  190. c.is_pk,
  191. c.is_increment,
  192. c.is_required,
  193. c.is_insert,
  194. c.is_edit,
  195. c.is_list,
  196. c.is_query,
  197. c.query_type,
  198. c.html_type,
  199. c.dict_type,
  200. c.sort
  201. FROM gen_table t
  202. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  203. where t.table_name = #{tableName}
  204. order by c.sort
  205. </select>
  206. <select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult">
  207. SELECT t.table_id,
  208. t.table_name,
  209. t.table_comment,
  210. t.sub_table_name,
  211. t.sub_table_fk_name,
  212. t.class_name,
  213. t.tpl_category,
  214. t.package_name,
  215. t.module_name,
  216. t.business_name,
  217. t.function_name,
  218. t.function_author,
  219. t.options,
  220. t.remark,
  221. c.column_id,
  222. c.column_name,
  223. c.column_comment,
  224. c.column_type,
  225. c.java_type,
  226. c.java_field,
  227. c.is_pk,
  228. c.is_increment,
  229. c.is_required,
  230. c.is_insert,
  231. c.is_edit,
  232. c.is_list,
  233. c.is_query,
  234. c.query_type,
  235. c.html_type,
  236. c.dict_type,
  237. c.sort
  238. FROM gen_table t
  239. LEFT JOIN gen_table_column c ON t.table_id = c.table_id
  240. order by c.sort
  241. </select>
  242. <insert id="insertGenTable" parameterType="GenTable" useGeneratedKeys="true" keyProperty="tableId">
  243. insert into gen_table (
  244. <if test="tableName != null">table_name,</if>
  245. <if test="tableComment != null and tableComment != ''">table_comment,</if>
  246. <if test="className != null and className != ''">class_name,</if>
  247. <if test="tplCategory != null and tplCategory != ''">tpl_category,</if>
  248. <if test="packageName != null and packageName != ''">package_name,</if>
  249. <if test="moduleName != null and moduleName != ''">module_name,</if>
  250. <if test="businessName != null and businessName != ''">business_name,</if>
  251. <if test="functionName != null and functionName != ''">function_name,</if>
  252. <if test="functionAuthor != null and functionAuthor != ''">function_author,</if>
  253. <if test="genType != null and genType != ''">gen_type,</if>
  254. <if test="genPath != null and genPath != ''">gen_path,</if>
  255. <if test="remark != null and remark != ''">remark,</if>
  256. <if test="createBy != null and createBy != ''">create_by,</if>
  257. create_time
  258. )values(
  259. <if test="tableName != null">#{tableName},</if>
  260. <if test="tableComment != null and tableComment != ''">#{tableComment},</if>
  261. <if test="className != null and className != ''">#{className},</if>
  262. <if test="tplCategory != null and tplCategory != ''">#{tplCategory},</if>
  263. <if test="packageName != null and packageName != ''">#{packageName},</if>
  264. <if test="moduleName != null and moduleName != ''">#{moduleName},</if>
  265. <if test="businessName != null and businessName != ''">#{businessName},</if>
  266. <if test="functionName != null and functionName != ''">#{functionName},</if>
  267. <if test="functionAuthor != null and functionAuthor != ''">#{functionAuthor},</if>
  268. <if test="genType != null and genType != ''">#{genType},</if>
  269. <if test="genPath != null and genPath != ''">#{genPath},</if>
  270. <if test="remark != null and remark != ''">#{remark},</if>
  271. <if test="createBy != null and createBy != ''">#{createBy},</if>
  272. sysdate()
  273. )
  274. </insert>
  275. <update id="updateGenTable" parameterType="GenTable">
  276. update gen_table
  277. <set>
  278. <if test="tableName != null">table_name = #{tableName},</if>
  279. <if test="tableComment != null and tableComment != ''">table_comment = #{tableComment},</if>
  280. <if test="subTableName != null">sub_table_name = #{subTableName},</if>
  281. <if test="subTableFkName != null">sub_table_fk_name = #{subTableFkName},</if>
  282. <if test="className != null and className != ''">class_name = #{className},</if>
  283. <if test="functionAuthor != null and functionAuthor != ''">function_author = #{functionAuthor},</if>
  284. <if test="genType != null and genType != ''">gen_type = #{genType},</if>
  285. <if test="genPath != null and genPath != ''">gen_path = #{genPath},</if>
  286. <if test="tplCategory != null and tplCategory != ''">tpl_category = #{tplCategory},</if>
  287. <if test="packageName != null and packageName != ''">package_name = #{packageName},</if>
  288. <if test="moduleName != null and moduleName != ''">module_name = #{moduleName},</if>
  289. <if test="businessName != null and businessName != ''">business_name = #{businessName},</if>
  290. <if test="functionName != null and functionName != ''">function_name = #{functionName},</if>
  291. <if test="options != null and options != ''">options = #{options},</if>
  292. <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  293. <if test="remark != null">remark = #{remark},</if>
  294. update_time = sysdate()
  295. </set>
  296. where table_id = #{tableId}
  297. </update>
  298. <delete id="deleteGenTableByIds" parameterType="Long">
  299. delete from gen_table where table_id in
  300. <foreach collection="array" item="tableId" open="(" separator="," close=")">
  301. #{tableId}
  302. </foreach>
  303. </delete>
  304. </mapper>