<?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.zhitan.generator.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="Long" resultMap="GenTableColumnResult">
|
<include refid="selectGenTableColumnVo"/>
|
where table_id = #{tableId}
|
order by sort
|
</select>
|
|
<select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult">
|
SELECT A.attname AS COLUMN_NAME,
|
col_description(A.attrelid, A.attnum) AS column_comment,
|
T.typname AS column_type,
|
CASE col.is_nullable WHEN 'NO' THEN 1 END AS is_required,
|
CASE col.is_identity WHEN 'NO' THEN 0 END AS is_pk,
|
col.ordinal_position AS sort,
|
'0' AS is_increment
|
FROM pg_class C
|
LEFT JOIN pg_attribute A ON A.attrelid = C.oid
|
LEFT JOIN pg_type T ON A.atttypid = T.oid
|
LEFT JOIN information_schema.COLUMNS col ON col.COLUMN_NAME = A.attname
|
WHERE C.relname = #{tableName}
|
AND col.TABLE_NAME = #{tableName}
|
AND A.attnum > 0
|
order by col.ordinal_position asc
|
</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>
|
now()
|
)
|
</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 = now()
|
</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>
|
|
</mapper>
|