<?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.billion.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.name AS column_name, (CASE WHEN a.isnullable = 1 THEN 0 ELSE 1 END) AS is_required, (CASE WHEN ( SELECT COUNT(*) FROM sysobjects WHERE (name IN ( SELECT name FROM sysindexes WHERE (id = a.id) AND (indid IN ( SELECT indid FROM sysindexkeys WHERE (id = a.id) AND (colid IN (SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name))) )))) AND (xtype = 'PK') ) > 0 THEN 1 ELSE 0 END) AS is_pk, a.colorder AS sort, isnull(g.[value], ' ') AS column_comment, (CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN 1 ELSE 0 END) AS is_increment, b.name AS column_type FROM syscolumns as a LEFT JOIN systypes b ON a.xtype = b.xusertype INNER JOIN sysobjects d ON a.id = d.id AND d.xtype = 'U' AND d.name <![CDATA[<>]]> 'dtproperties' LEFT JOIN syscomments e ON a.cdefault = e.id LEFT JOIN sys.extended_properties g ON a.id = g.major_id AND a.colid = g.minor_id LEFT JOIN sys.extended_properties f ON d.id = f.class AND f.minor_id = 0 LEFT JOIN sys.objects h ON a.id = h.object_id LEFT JOIN sys.schemas i ON h.schema_id = i.schema_id WHERE d.name = #{tableName} ORDER BY a.colorder </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> getdate() ) </insert> <update id="updateGenTableColumn" parameterType="GenTableColumn"> update gen_table_column <set> is_insert = #{isInsert}, is_edit = #{isEdit}, is_list = #{isList}, is_query = #{isQuery}, is_required = #{isRequired}, <if test="columnComment != null">column_comment = #{columnComment},</if> <if test="javaType != null">java_type = #{javaType},</if> <if test="javaField != null">java_field = #{javaField},</if> <if test="queryType != null">query_type = #{queryType},</if> <if test="htmlType != null">html_type = #{htmlType},</if> <if test="dictType != null">dict_type = #{dictType},</if> <if test="sort != null">sort = #{sort},</if> <if test="updateBy != null">update_by = #{updateBy},</if> update_time = getdate() </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>