GenTableColumnMapper.xml 7.17 KB
<?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.huaheng.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>
</mapper>