取值时
#{param.msgStatus}
一直是false,java代码里面显示true。
<select id="findPageOaReading" resultType="com.focusin.data.office.func.dto.ProcessMessageInfoDTO">select i.*, t.template_name procdefNamefrom process_message_info iinner join process_oa_template t on i.process_oa_template_id = t.idwhere i.del_flag = 0 and i.status = 1and i.receive_user = #{param.receiveUser}and i.data_type in (1, 2, 3, 4)and i.msg_status = #{param.msgStatus}<if test="param.processTitle!=null and param.processTitle!=''">and i.process_title like concat(#{param.processTitle}, '%')</if><if test="param.tenant!=null and param.tenant!=''">and i.tenant = #{param.tenant}</if><if test="param.sendUser!=null and param.sendUser!=''">and i.send_user = #{param.sendUser}</if><if test="param.templateName!=null and param.templateName!=''">and t.template_name like CONCAT(#{param.templateName},'%')</if><if test="param.receiveBeginTime!=null and param.receiveEndTime!=null">and i.create_time between #{param.receiveBeginTime} and #{param.receiveEndTime}</if><if test="param.msgStatus == true and param.operateBeginTime!=null and param.operateEndTime!=null">and i.update_time between #{param.operateBeginTime} and #{param.operateEndTime}</if></select>
问题原因:判断boolean类型时不能用 param.msgStatus = 1
,不然会使得 #{param.msgStatus}
取值一直为false