<?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.ruoyi.gen.mapper.GenTableColumnMapper" >
<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>
<sql id= "selectGenTableColumnVo" >
select column_id, table_id, column_name, column_comment, column_type, java_type, java_field, is_pk, is_increment, is_required, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, create_by, create_time, update_by, update_time from gen_table_column
</sql>
<select id= "selectGenTableColumnListByTableId" parameterType= "GenTableColumn" resultMap= "GenTableColumnResult" >
<include refid= "selectGenTableColumnVo" />
where table_id = #{tableId}
order by sort
</select>
<select id= "selectDbTableColumnsByName" parameterType= "String" resultMap= "GenTableColumnResult" >
select column_name, (case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else null end) as is_required, (case when column_key = 'PRI' then '1' else '0' end) as is_pk, ordinal_position as sort, column_comment, (case when extra = 'auto_increment' then '1' else '0' end) as is_increment, column_type
from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName})
order by ordinal_position
</select>
<insert id= "insertGenTableColumn" parameterType= "GenTableColumn" useGeneratedKeys= "true" keyProperty= "columnId" >
insert into gen_table_column (
<if test= "tableId != null and tableId != ''" > table_id,</if>
<if test= "columnName != null and columnName != ''" > column_name,</if>
<if test= "columnComment != null and columnComment != ''" > column_comment,</if>
<if test= "columnType != null and columnType != ''" > column_type,</if>
<if test= "javaType != null and javaType != ''" > java_type,</if>
<if test= "javaField != null and javaField != ''" > java_field,</if>
<if test= "isPk != null and isPk != ''" > is_pk,</if>
<if test= "isIncrement != null and isIncrement != ''" > is_increment,</if>
<if test= "isRequired != null and isRequired != ''" > is_required,</if>
<if test= "isInsert != null and isInsert != ''" > is_insert,</if>
<if test= "isEdit != null and isEdit != ''" > is_edit,</if>
<if test= "isList != null and isList != ''" > is_list,</if>
<if test= "isQuery != null and isQuery != ''" > is_query,</if>
<if test= "queryType != null and queryType != ''" > query_type,</if>
<if test= "htmlType != null and htmlType != ''" > html_type,</if>
<if test= "dictType != null and dictType != ''" > dict_type,</if>
<if test= "sort != null" > sort,</if>
<if test= "createBy != null and createBy != ''" > create_by,</if>
create_time
)values(
<if test= "tableId != null and tableId != ''" > #{tableId},</if>
<if test= "columnName != null and columnName != ''" > #{columnName},</if>
<if test= "columnComment != null and columnComment != ''" > #{columnComment},</if>
<if test= "columnType != null and columnType != ''" > #{columnType},</if>
<if test= "javaType != null and javaType != ''" > #{javaType},</if>
<if test= "javaField != null and javaField != ''" > #{javaField},</if>
<if test= "isPk != null and isPk != ''" > #{isPk},</if>
<if test= "isIncrement != null and isIncrement != ''" > #{isIncrement},</if>
<if test= "isRequired != null and isRequired != ''" > #{isRequired},</if>
<if test= "isInsert != null and isInsert != ''" > #{isInsert},</if>
<if test= "isEdit != null and isEdit != ''" > #{isEdit},</if>
<if test= "isList != null and isList != ''" > #{isList},</if>
<if test= "isQuery != null and isQuery != ''" > #{isQuery},</if>
<if test= "queryType != null and queryType != ''" > #{queryType},</if>
<if test= "htmlType != null and htmlType != ''" > #{htmlType},</if>
<if test= "dictType != null and dictType != ''" > #{dictType},</if>
<if test= "sort != null" > #{sort},</if>
<if test= "createBy != null and createBy != ''" > #{createBy},</if>
sysdate()
)
</insert>
<update id= "updateGenTableColumn" parameterType= "GenTableColumn" >
update gen_table_column
<set >
column_comment = #{columnComment},
java_type = #{javaType},
java_field = #{javaField},
is_insert = #{isInsert},
is_edit = #{isEdit},
is_list = #{isList},
is_query = #{isQuery},
is_required = #{isRequired},
query_type = #{queryType},
html_type = #{htmlType},
dict_type = #{dictType},
sort = #{sort},
update_by = #{updateBy},
update_time = sysdate()
</set>
where column_id = #{columnId}
</update>
<delete id= "deleteGenTableColumnByIds" parameterType= "Long" >
delete from gen_table_column where table_id in
<foreach collection= "array" item= "tableId" open= "(" separator= "," close= ")" >
#{tableId}
</foreach>
</delete>
<delete id= "deleteGenTableColumns" >
delete from gen_table_column where column_id in
<foreach collection= "list" item= "item" open= "(" separator= "," close= ")" >
#{item.columnId}
</foreach>
</delete>
</mapper>