<?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="${tableClassModel.qualifiedClassName}">
|
<!-- 定义${tableClassModel.className} 的复杂关联map -->
|
<resultMap type="${beanQualifiedClassName}" id="${tableClassModel.className}Map">
|
<id property="${tableClassModel.primaryKey.property}" column="${tableClassModel.primaryKey.column}" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="createDeptId" column="create_dept_id" />
|
<result property="createStoreId" column="create_store_id" />
|
<result property="companyId" column="company_id" />
|
<#list tableClassModel.mapping as item>
|
<#if !item.isPrimaryKey>
|
<result property="${item.property}" column="${item.column}" />
|
</#if>
|
</#list>
|
</resultMap>
|
|
|
<!-- 定义${tableClassModel.className} 的简单map ,本map不添加其他的关联属性 -->
|
<resultMap type="${beanQualifiedClassName}" id="${tableClassModel.className}SimpleMap">
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="createDeptId" column="create_dept_id" />
|
<result property="createStoreId" column="create_store_id" />
|
<result property="companyId" column="company_id" />
|
<#list tableClassModel.mapping as item>
|
<#if !item.isPrimaryKey>
|
<result property="${item.property}" column="${item.column}" />
|
</#if>
|
</#list>
|
</resultMap>
|
|
<sql id="columns">
|
${r'${alias}'}.create_by ${r'${columnPrefix}'}create_by,
|
${r'${alias}'}.create_time ${r'${columnPrefix}'}create_time,
|
${r'${alias}'}.update_by ${r'${columnPrefix}'}update_by,
|
${r'${alias}'}.update_time ${r'${columnPrefix}'}update_time,
|
${r'${alias}'}.create_dept_id ${r'${columnPrefix}'}create_dept_id,
|
${r'${alias}'}.create_store_id ${r'${columnPrefix}'}create_store_id,
|
${r'${alias}'}.company_id ${r'${columnPrefix}'}company_id,
|
<#list tableClassModel.mapping as item>
|
<#if item_has_next>
|
${r'${alias}'}.${item.column} ${r'${columnPrefix}'}${item.column},
|
<#else>
|
${r'${alias}'}.${item.column} ${r'${columnPrefix}'}${item.column}
|
</#if>
|
</#list>
|
</sql>
|
<!-- where sql -->
|
<sql id="keyword_where_sql">
|
|
<if test="record!=null">
|
<if test="(record.companyId!=null and record.companyId!='')">
|
and ${r'${alias}'}.company_id = ${'#'}{record.companyId}
|
</if>
|
<if test="(record.createStoreId!=null and record.createStoreId!='')">
|
and ${r'${alias}'}.create_store_id = ${'#'}{record.createStoreId}
|
</if>
|
<if test="(record.createDeptId!=null and record.createDeptId!='')">
|
and ${r'${alias}'}.create_dept_id = ${'#'}{record.createDeptId}
|
</if>
|
<#list tableClassModel.mapping as item>
|
<#if item.classType=="String">
|
<if test="(record.${item.property}!=null and record.${item.property}!='')">
|
and ${r'${alias}'}.${item.column} = ${'#'}{record.${item.property}}
|
</if>
|
<#else>
|
<if test="(record.${item.property}!=null)">
|
and ${r'${alias}'}.${item.column} = ${'#'}{record.${item.property}}
|
</if>
|
</#if>
|
</#list>
|
</if>
|
|
</sql>
|
<!-- 分页查询 -->
|
<select id="selectByKeyword" resultMap="${tableClassModel.className}Map">
|
select
|
<include refid="columns" >
|
<property name="alias" value="a"/>
|
<property name="columnPrefix" value=""/>
|
</include>
|
from ${tableClassModel.tableName} a
|
<where>
|
<include refid="keyword_where_sql"><property name="alias" value="a"/></include>
|
</where>
|
</select>
|
|
<!-- 查询总条数 -->
|
<select id="selectCountByKeyword" parameterType="long" resultType="java.lang.Integer">
|
select count(a.id)
|
from ${tableClassModel.tableName} a
|
<where>
|
<include refid="keyword_where_sql"><property name="alias" value="a"/></include>
|
</where>
|
</select>
|
</mapper>
|