经过前面两个章节讲解,对mybatis应该有了大概了解,今天讲解下mapper文件的使用:
主要是select查询语句where条件的判断:
bigint类型的判空:
<if test="pkId != null"> and PK_ID = #{pkId} </if>
varchar类型的判空:
<if test="listRemark != null and listRemark != ''"> and LIST_REMARK = #{listRemark} </if>
datetime类型的判空:
<if test="createOper != null and createOper != ''"> and CREATE_OPER = #{createOper} </if>
in语句的使用:
<if test="payWay != null and payWay != ''"> and PAY_WAY in ${payWay} </if>
like语句的使用:
<if test="fromTradeName != null and fromTradeName != ''"> and FROM_TRADE_NAME like CONCAT('%', #{fromTradeName},'%') </if>
CREATE_DATE时间间隔查询:
<if test="createDate != null"> <![CDATA[ and #{createDate} <= CREATE_DATE]]> </if> <if test="modifyDate != null"> <![CDATA[ and CREATE_DATE <= #{modifyDate}]]> </if>
或者:
<if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 --> AND date_format(u.create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') </if> <if test="endTime != null and endTime != ''"><!-- 结束时间检索 --> AND date_format(u.create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') </if>
批量删除:
<delete id="deleteUserByIds" parameterType="Long"> update sys_user set del_flag = '2' where user_id in <foreach collection="array" item="userId" open="(" separator="," close=")"> #{userId} </foreach> </delete>
对应接口:
public int deleteUserByIds(Long[] userIds);