You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.3 KiB
68 lines
2.3 KiB
<?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})##生成主键排在第一位
|
|
<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>
|
|
|
|
<!-- 详情查询映射结果 -->
|
|
<resultMap id="DetailResultMap" type="${package.Dto}.${dto}" extends="BaseResultMap">
|
|
#foreach($field in ${table.dtoFields})
|
|
<result column="${field.name}" property="${field.propertyName}" />
|
|
#end
|
|
</resultMap>
|
|
#end
|
|
#if(${baseColumnList})
|
|
<!-- 通用查询结果列 -->
|
|
<sql id="Base_Column_List">
|
|
#foreach($field in ${table.commonFields})
|
|
${field.columnName},
|
|
#end
|
|
${table.fieldNames}
|
|
</sql>
|
|
#end
|
|
|
|
<!-- 获取详情分页记录 -->
|
|
<select id="detailPage" resultMap="DetailResultMap">
|
|
select a.*${table.joinColumns}
|
|
from ${table.name} a
|
|
#foreach($join in ${table.joinTables})
|
|
left join ${join.name} ${join.alias} on a.${join.field}=${join.alias}.${join.foreignId}
|
|
#end
|
|
<where>
|
|
#foreach($field in ${table.searchFields})
|
|
<if test="${field.condition}">and ${field.alias}.${field.columnName}=#{entity.$field.propertyName}</if>
|
|
#end
|
|
</where>
|
|
</select>
|
|
|
|
<!-- 获取指定的详情记录 -->
|
|
<select id="detailById" resultMap="DetailResultMap">
|
|
select a.*${table.joinColumns}
|
|
from ${table.name} a
|
|
#foreach($join in ${table.joinTables})
|
|
left join ${join.name} ${join.alias} on a.${join.field}=${join.alias}.${join.foreignId}
|
|
#end
|
|
where a.${table.keyField}=#{id}
|
|
</select>
|
|
</mapper>
|