OracleGenTableColumnMapper.xml 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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.OracleGenTableColumnMapper">
  6. <resultMap type="GenTableColumn" id="GenTableColumnResult">
  7. <id property="columnId" column="column_id" />
  8. <result property="tableId" column="table_id" />
  9. <result property="columnName" column="column_name" />
  10. <result property="columnComment" column="column_comment" />
  11. <result property="columnType" column="column_type" />
  12. <result property="javaType" column="java_type" />
  13. <result property="javaField" column="java_field" />
  14. <result property="isPk" column="is_pk" />
  15. <result property="isIncrement" column="is_increment" />
  16. <result property="isRequired" column="is_required" />
  17. <result property="isInsert" column="is_insert" />
  18. <result property="isEdit" column="is_edit" />
  19. <result property="isList" column="is_list" />
  20. <result property="isQuery" column="is_query" />
  21. <result property="queryType" column="query_type" />
  22. <result property="htmlType" column="html_type" />
  23. <result property="dictType" column="dict_type" />
  24. <result property="sort" column="sort" />
  25. <result property="createBy" column="create_by" />
  26. <result property="createTime" column="create_time" />
  27. <result property="updateBy" column="update_by" />
  28. <result property="updateTime" column="update_time" />
  29. </resultMap>
  30. <select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult">
  31. select lower(temp.column_name) as column_name,
  32. (case when (temp.nullable = 'N' and temp.constraint_type != 'P') then '1' else null end) as is_required,
  33. (case when temp.constraint_type = 'P' then '1' else '0' end) as is_pk,
  34. temp.column_id as sort,
  35. temp.comments as column_comment,
  36. (case when temp.constraint_type = 'P' then '1' else '0' end) as is_increment,
  37. lower(temp.data_type) as column_type
  38. from (
  39. select col.column_id, col.column_name,col.nullable, col.data_type, colc.comments, uc.constraint_type
  40. , row_number() over (partition by col.column_name order by uc.constraint_type desc) as row_flg
  41. from user_tab_columns col
  42. left join user_col_comments colc on colc.table_name = col.table_name and colc.column_name = col.column_name
  43. left join user_cons_columns ucc on ucc.table_name = col.table_name and ucc.column_name = col.column_name
  44. left join user_constraints uc on uc.constraint_name = ucc.constraint_name
  45. where col.table_name = upper(#{tableName})
  46. ) temp
  47. WHERE temp.row_flg = 1
  48. ORDER BY temp.column_id
  49. </select>
  50. </mapper>