You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
380 lines
13 KiB
XML
380 lines
13 KiB
XML
<?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="${package.Mapper}.${table.mapperName}">
|
|
|
|
#if(${enableCache})
|
|
<!-- 开启二级缓存 -->
|
|
<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
|
|
|
|
#end
|
|
#if(${baseResultMap})
|
|
<!-- 通用查询映射结果 -->
|
|
<resultMap id="BaseResultMap" type="${package.Entity}.${entity}">
|
|
#foreach($field in ${table.fields})
|
|
#if(${field.keyFlag})##生成主键排在第一位
|
|
#set($keyPropertyName = ${field.propertyName})
|
|
#set($keyFieldName = ${field.name})
|
|
<id column="${field.name}" property="${field.propertyName}" />
|
|
#end
|
|
#end
|
|
#foreach($field in ${table.commonFields})##生成公共字段
|
|
<result column="${field.name}" property="${field.propertyName}" />
|
|
#end
|
|
#foreach($field in ${table.fields})
|
|
#if(!${field.keyFlag})##生成普通字段
|
|
<result column="${field.name}" property="${field.propertyName}" />
|
|
#end
|
|
#end
|
|
</resultMap>
|
|
|
|
#end
|
|
#if(${baseColumnList})
|
|
<!-- 通用查询结果列 -->
|
|
<sql id="Base_Column_List">
|
|
#foreach($field in ${table.commonFields})
|
|
#if(${field.name} == ${field.propertyName})${field.name}#else${field.name}#end,
|
|
#end
|
|
${table.fieldNames}
|
|
</sql>
|
|
#end
|
|
|
|
<!-- BaseMapper标准查询/修改/删除 -->
|
|
#if(${keyPropertyName})
|
|
<select id="selectById" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List"></include> FROM ${table.name} WHERE ${keyFieldName}=#{${keyPropertyName}}
|
|
</select>
|
|
#end
|
|
|
|
<select id="selectByMap" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List"></include>
|
|
FROM ${table.name}
|
|
<if test="cm!=null and !cm.isEmpty">
|
|
<where>
|
|
<foreach collection="cm.keys" item="k" separator="AND">
|
|
<if test="cm[k] != null">
|
|
${k} = #{cm[${k}]}
|
|
</if>
|
|
</foreach>
|
|
</where>
|
|
</if>
|
|
</select>
|
|
|
|
#if(${keyPropertyName})
|
|
<select id="selectBatchIds" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List"></include>
|
|
FROM ${table.name} WHERE ${keyFieldName} IN (
|
|
<foreach item="item" index="index" collection="coll" separator=",">#{item}
|
|
</foreach>)
|
|
</select>
|
|
#end
|
|
|
|
<select id="selectOne" resultMap="BaseResultMap">
|
|
SELECT <include refid="Base_Column_List"></include> FROM ${table.name}
|
|
<where>
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
<if test="ew.entity.${field.propertyName}!=null">
|
|
${field.name}=#{ew.${field.propertyName}}
|
|
</if>
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectCount" resultType="Integer">
|
|
SELECT COUNT(1) FROM ${table.name}
|
|
<where>
|
|
<if test="ew!=null">
|
|
<if test="ew.entity!=null">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
<if test="ew.entity.${field.propertyName}!=null">
|
|
${field.name}=#{ew.entity.${field.propertyName}}
|
|
</if>
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</if>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectList" resultMap="BaseResultMap">
|
|
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM ${table.name}
|
|
<where>
|
|
<if test="ew!=null">
|
|
<if test="ew.entity!=null">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
<if test="ew.entity.${field.propertyName}!=null">
|
|
${field.name}=#{ew.entity.${field.propertyName}}
|
|
</if>
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</if>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectMaps" resultType="HashMap">
|
|
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM ${table.name}
|
|
<where>
|
|
<if test="ew!=null">
|
|
<if test="ew.entity!=null">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
<if test="ew.entity.${field.propertyName}!=null">
|
|
${field.name}=#{ew.entity.${field.propertyName}}
|
|
</if>
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</if>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectObjs" resultType="Object">
|
|
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM ${table.name}
|
|
<where>
|
|
<if test="ew!=null">
|
|
<if test="ew.entity!=null">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
<if test="ew.entity.${field.propertyName}!=null">
|
|
${field.name}=#{ew.entity.${field.propertyName}}
|
|
</if>
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</if>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectPage" resultMap="BaseResultMap">
|
|
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM ${table.name}
|
|
<where>
|
|
<if test="ew!=null">
|
|
<if test="ew.entity!=null">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
<if test="ew.entity.${field.propertyName}!=null">
|
|
${field.name}=#{ew.entity.${field.propertyName}}
|
|
</if>
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</if>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</select>
|
|
|
|
<select id="selectMapsPage" resultType="HashMap">
|
|
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM ${table.name}
|
|
<where>
|
|
<if test="ew!=null">
|
|
<if test="ew.entity!=null">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
<if test="ew.entity.${field.propertyName}!=null">
|
|
${field.name}=#{ew.entity.${field.propertyName}}
|
|
</if>
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</if>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</select>
|
|
|
|
<insert id="insert" parameterType="${package.Entity}.${entity}">
|
|
INSERT INTO ${table.name}
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
${field.name},
|
|
#else
|
|
<if test="${field.propertyName}!=null">${field.name},</if>
|
|
#end
|
|
#end
|
|
</trim> VALUES
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
#{${field.propertyName}},
|
|
#else
|
|
<if test="${field.propertyName}!=null">#{${field.propertyName}},</if>
|
|
#end
|
|
#end
|
|
</trim>
|
|
</insert>
|
|
|
|
<insert id="insertAllColumn" parameterType="${package.Entity}.${entity}">
|
|
INSERT INTO ${table.name}
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<include refid="Base_Column_List"></include>
|
|
</trim> VALUES
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
#foreach($field in ${table.fields})
|
|
#{${field.propertyName}},
|
|
#end
|
|
</trim>
|
|
</insert>
|
|
|
|
|
|
#if(${keyPropertyName})
|
|
<update id="updateById">
|
|
UPDATE ${table.name} <trim prefix="SET" suffixOverrides=",">
|
|
#foreach($field in ${table.fields})
|
|
#if(!${field.keyFlag})
|
|
<if test="et.${field.propertyName}!=null">${field.name}=#{et.${field.propertyName}},</if>
|
|
#end
|
|
#end
|
|
</trim> WHERE ${keyFieldName}=#{et.${keyPropertyName}} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
|
|
</update>
|
|
#end
|
|
|
|
|
|
#if(${keyPropertyName})
|
|
<update id="updateAllColumnById">
|
|
UPDATE ${table.name} <trim prefix="SET" suffixOverrides=",">
|
|
#foreach($field in ${table.fields})
|
|
#if(!${field.keyFlag})
|
|
${field.name}=#{et.${field.propertyName}},
|
|
#end
|
|
#end
|
|
</trim> WHERE ${keyFieldName}=#{et.${keyPropertyName}} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
|
|
</update>
|
|
#end
|
|
|
|
|
|
<update id="update">
|
|
UPDATE ${table.name} <trim prefix="SET" suffixOverrides=",">
|
|
#foreach($field in ${table.fields})
|
|
#if(!${field.keyFlag})
|
|
<if test="et.${field.propertyName}!=null">${field.name}=#{et.${field.propertyName}},</if>
|
|
#end
|
|
#end
|
|
</trim>
|
|
<where>
|
|
<if test="ew!=null">
|
|
<if test="ew.entity!=null">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
${field.name}=#{ew.entity.${field.propertyName}}
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</if>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</update>
|
|
|
|
#if(${keyPropertyName})
|
|
<delete id="deleteById">
|
|
DELETE FROM ${table.name} WHERE ${keyFieldName}=#{${keyPropertyName}}
|
|
</delete>
|
|
#end
|
|
|
|
<delete id="deleteByMap">
|
|
DELETE FROM ${table.name}
|
|
<if test="cm!=null and !cm.isEmpty">
|
|
<where>
|
|
<foreach collection="cm.keys" item="k" separator="AND">
|
|
<if test="cm[k] != null">
|
|
${k} = #{cm[${k}]}
|
|
</if>
|
|
</foreach>
|
|
</where>
|
|
</if>
|
|
</delete>
|
|
|
|
<delete id="delete">
|
|
DELETE FROM ${table.name}
|
|
<where>
|
|
<if test="ew!=null">
|
|
<if test="ew.entity!=null">
|
|
#foreach($field in ${table.fields})
|
|
#if($!{velocityCount} == 1)
|
|
<if test="ew.entity.handle!=null">
|
|
${field.name}=#{ew.entity.${field.propertyName}}
|
|
</if>
|
|
#else
|
|
<if test="ew.entity.${field.propertyName}!=null"> AND ${field.name}=#{ew.entity.${field.propertyName}}</if>
|
|
#end
|
|
#end
|
|
</if>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
|
|
${ew.sqlSegment}
|
|
</if>
|
|
</delete>
|
|
|
|
#if(${keyPropertyName})
|
|
<delete id="deleteBatchIds">
|
|
DELETE FROM ${table.name} WHERE ${keyFieldName} IN (
|
|
<foreach item="item" index="index" collection="coll" separator=",">#{item}
|
|
</foreach>)
|
|
</delete>
|
|
#end
|
|
<!-- BaseMapper标准查询/修改/删除 -->
|
|
|
|
</mapper>
|