Allen_DUCK 2022-05-24 12:05 采纳率: 62.5%
浏览 51

xml文件写sql出现错误 使用if条件筛选报错

问题遇到的现象和发生背景

在xml文件中进行数据查询筛选时

问题相关代码,请勿粘贴截图

这样写,用if会报错

<if test="paramMap.newsTitle != null and paramMap.newsTitle != ''">
        AND mt.newsTitle like concat('%', #{paramMap.newsTitle}, '%')
运行结果及报错内容

报错 source is null for getproperty

我的解答思路和尝试过的方法

查询过,在最外层再加一层《if》也没用
但是如果不写《if》这层
只写 AND mt.newsTitle like concat('%', #{paramMap.newsTitle}, '%') 就能进行条件查询,但不能查全部数据了

我想要达到的结果

之前也写过类似的查询筛选,这么写运行也没错,不知道为什么这次就出现这个错误,导致没有传入筛选参数时,就不能查全部数据
感谢愿意解答的各位

  • 写回答

3条回答 默认 最新

  • 逗神。 2022-05-24 14:16
    关注

    从报错来看,应该是paramMap对象是空导致的报错,改成下面这种试试,先判断paramMap是否为null

    <if test="paramMap != null">
            <if test="paramMap.newsTitle != null and paramMap.newsTitle != ''">
                  AND mt.newsTitle like concat('%', #{paramMap.newsTitle}, '%')
            </if>
    </if>
    
    评论

报告相同问题?

问题事件

  • 修改了问题 5月24日
  • 创建了问题 5月24日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大