在mybatis中使用mapper进行if条件判断
目的:
在使用mybatis框架中mapper文件有自动生成,但有时需要自己添加sql语句进行开发,当遇到需要使用if进行条件判断的时候该怎么写?
查询sql语句如下:
select*fromdb_trd.tb_trd_secu_orderwhereorder_status=6 andchannel_no=#{channelNo,jdbcType=INTEGER} andreport_no=#{reportNo,jdbcType=INTEGER} andcompany_no=#{companyNo,jdbcType=VARCHAR} andorder_no=#{orderNo,jdbcType=INTEGER} andstock_code=#{stockCode,jdbcType=VARCHAR}
语句解析:
1、if语句的格式;
2、test中的字段为parameterType中com.pojo.QueryDetailReq的对象(入参)
3、resultType为返回查询数据对象(结果集)
补充:mabatismapper文件中使用if条件插入字段和数据
有时候我们插入数据库数据的时候,插入字段都是不确定的,那么我们也可以用if条件来过滤一些字段
废话不多说,直接上代码
insertintot_order orderNo, serviceName, idcard, name, requestData, responseData, status, updatedTime, completionTime, bae007, operId, operName, remark, #{orderNo}, #{serviceName}, #{idcard}, #{name}, #{requestData}, #{responseData}, #{status}, #{updatedTime}, #{completionTime}, #{bae007}, #{operId}, #{operName}, #{remark},
经过测试,是可以实现的。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。