mbatis xml文件写法
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> <mapper namespace="com.bill99.acs.fmp.base.org.seashell.technical.dao.IBatchDao"> <resultMap id="batchEo" type="com.bill99.acs.fmp.base.org.seashell.technical.model.BatchEo"> <result property="batchId" column="BATCH_ID" /> <result property="batchType" column="BATCH_TYPE" /> <result property="jobId" column="JOB_ID" /> <result property="ruleId" column="RULE_ID" /> <result property="batchName" column="BATCH_NAME" /> <result property="batchCode" column="BATCH_CODE" /> <result property="totalNum" column="TOTAL_NUM" /> <result property="totalAmount" column="TOTAL_AMOUNT" /> <result property="memo" column="MEMO" /> <result property="crtTime" column="CRT_TIME" /> <result property="updTime" column="UPD_TIME" /> <result property="channelCode" column="CHANNEL_CODE" /> </resultMap> <!-- 全部列名 --> <sql id="allColumns"> BATCH_ID, BATCH_TYPE, JOB_ID, RULE_ID, BATCH_NAME, BATCH_CODE, TOTAL_NUM, TOTAL_AMOUNT, MEMO, CRT_TIME, UPD_TIME, CHANNEL_CODE </sql> <!-- 公共查询条件 分页+明细 --> <sql id="query_where_condition"> FROM SEASHELL.T_FMP_BATCH <where> <if test="batchId != null"> and BATCH_ID = #{batchId} </if> <if test="beginCrtDateTime != null">AND CRT_TIME >= to_date(#{beginCrtDateTime},'yyyy-mm-dd hh24:mi:ss')</if> <if test="endCrtDateTime != null">AND CRT_TIME <= to_date(#{endCrtDateTime},'yyyy-mm-dd hh24:mi:ss')</if> <if test="batchType != null"> and BATCH_TYPE = #{batchType} </if> <if test="jobId != null"> and JOB_ID = #{jobId} </if> <if test="ruleId != null"> and RULE_ID = #{ruleId} </if> <if test="batchName != null"> and BATCH_NAME = #{batchName} </if> <if test="vagueBatchName != null and vagueBatchName != ''">AND BATCH_NAME like CONCAT(CONCAT('%',#{vagueBatchName}),'%')</if> <if test="batchCode != null"> and BATCH_CODE = #{batchCode} </if> <if test="totalNum != null"> and TOTAL_NUM = #{totalNum} </if> <if test="totalAmount != null"> and TOTAL_AMOUNT = #{totalAmount} </if> <if test="memo != null"> and MEMO = #{memo} </if> <if test="beginCrtTime != null">AND CRT_TIME >= to_date(#{beginCrtTime},'yyyy-mm-dd')</if> <if test="endCrtTime != null">AND CRT_TIME <= to_date(#{endCrtTime},'yyyy-mm-dd')</if> <if test="beginUpdTime != null">AND UPD_TIME >= to_date(#{beginUpdTime},'yyyy-mm-dd')</if> <if test="endUpdTime != null">AND UPD_TIME <= to_date(#{endUpdTime},'yyyy-mm-dd')</if> <if test="channelCode != null"> and CHANNEL_CODE = #{channelCode} </if> <if test="vagueChannelCode != null and vagueChannelCode != ''"> AND CHANNEL_CODE like CONCAT(CONCAT('%',#{vagueChannelCode}),'%')</if> <if test="batchIds !=null and batchIds.size() !=0"> and BATCH_ID in <foreach collection="batchIds" item="item" separator="," open="(" close=")"> #{item} </foreach> </if> </where> </sql> <select id="query" parameterType="com.bill99.acs.fmp.base.org.seashell.domain.query.BatchForQuery" resultMap="batchEo"> select <include refid="allColumns" /> <include refid="query_where_condition" /> <if test="page!=null and page.orderField != null"> ORDER BY ${page.orderField} </if> <if test="page!=null and page.orderDirection != null"> ${page.orderDirection} </if> </select> </mapper>