if判断
<mapper namespace="cn.wideth.mapper.CarMapper">
<select id="selectByCarInfo" resultType="cn.wideth.entity.table.CarInfo" parameterType="cn.wideth.entity.entrance.QueryCar">
SELECT A.DISTRICTNAME,T.*,B.DICTNAME FROM (T_TI_CAR_INFO T JOIN TB_District A ON T.AREACODE = A.DISTRICTCODE)
JOIN T_SYS_DICTIONARY B ON T.RUNSTATE = B.DICTCODE
<where>
<if test="queryCar.brandModels != null and queryCar.brandModels != ''">
AND T.BRANDMODELS like #{queryCar.brandModels}
</if>
<if test="queryCar.carNumber != null and queryCar.carNumber != ''">
AND T.CARNUMBER like #{queryCar.carNumber}
</if>
<if test="queryCar.updater != null and queryCar.updater != ''">
AND T.UPDATER like #{queryCar.updater}
</if>
</where>
AND B.DICTTYPE = '车辆运行状态'
ORDER BY T.ID
</select>
</mapper>
foreach来实现批量插入,Oracle数据库
<insert id="insertDetailResult">
insert all
<foreach collection="insertData" item="insertDetails" index="i">
into T_FE_RESULT(EXAMID,ITEMID,DETAILID,VALUERESULT) values
(
#{insertDetails.examId}, #{insertDetails.itemId},#{insertDetails.detailId},
#{insertDetails.valueResult}
)
</foreach>
SELECT 1 FROM DUAL
</insert>
foreach语句来实现查询
<select id="getPhysicalMeasurementResultInfo" resultType="cn.wideth.entity.table.MeasurementResultInfo">
SELECT T.*,A.NAME,B.UPLOADTIME
FROM T_WX_CONSTITUTION_RESULT T,T_FE_ITEM_CHM_HEA A,T_FE_REGISTER B
WHERE T.CODE = A.CODE
AND B.EXAMID = #{examId}
AND T.CODE IN
<foreach collection="codes" item="code" open="(" close=")" separator="," index="i">
#{code}
</foreach>
ORDER BY T.ID
</select>