mybatis 明明sql语句没问题,但是select 语句接收不到对应的值#{}值

mybatis 明明sql语句没问题,但是select 语句接收不到对应的值#{}值


场景回顾

之前再给公司修改一个搜索的接口,之前这个接口是没得任何问题的:

<select id="findAllResultByString" parameterType="java.lang.String" resultType="com.newtouch.dangjian.entity.party.SearchResultVo">
--         type:
--         1 活动
--         2 报告
--         3文章
        SELECT id,content, IFNULL(update_datetime,create_time) as date,1 as type
        FROM dj_activity
        WHERE CONCAT(content,IFNULL(attachs,'')) like  CONCAT('%',  #{title},'%') AND deleted='N' union all
        SELECT id,content, IFNULL(update_time,create_time) as date,2 as type
        FROM dj_activity_report
        WHERE CONCAT(content,IFNULL(attachs,'')) like CONCAT('%',  #{title},'%') AND deleted='N' union all
        SELECT id,title as content,IFNULL(update_datetime,create_datetime) as date,3 as type
        FROM dj_article u
        WHERE CONCAT(u.short_title,u.title,u.topic,u.keyword) like CONCAT('%',#{title},'%') AND u.deleted='N'
        ORDER BY date DESC
    </select>

运行ok 没问题。现在我想把前面的两个select语句不要了,注释掉
在这里插入图片描述

奇迹出现了,奇迹出现了
后台500报错:
Preparing: SELECT count(0) FROM dj_article u WHERE CONCAT(u.short_title, u.title, u.topic, u.keyword) LIKE CONCAT(’%’, ?, ‘%’) AND u.deleted = ‘N’
意思是参数无法识别,我一直反复调试,确认参数是没有问题,取消注释前面两条sql又没问题,#{titile}为什么会识别不了值呢?
我又把问题带到了xml里面的jdbc指定类型 加上#{titile,jdbcType=VARCHAR}依然识别不了参数;我更改dao辰的参数名称,还是识别不了,但是我相信问题肯定是处在xml某处。
在百度畅游了两个小时无果,我仔仔细细阅读xml每一行代码:
在这里插入图片描述

<select id="findAllResultByString" parameterType="java.lang.String" resultType="com.newtouch.dangjian.entity.party.SearchResultVo">
--         type:
--         1 活动
--         2 报告
--         3文章
--         SELECT id,content, IFNULL(update_datetime,create_time) as date,1 as type
--         FROM dj_activity
--         WHERE CONCAT(content,IFNULL(attachs,'')) like  CONCAT('%',  #{title},'%') AND deleted='N' union all
--         SELECT id,content, IFNULL(update_time,create_time) as date,2 as type
--         FROM dj_activity_report
--         WHERE CONCAT(content,IFNULL(attachs,'')) like CONCAT('%',  #{title},'%') AND deleted='N' union all
        SELECT id,title as content,IFNULL(update_datetime,create_datetime) as date,3 as type
        FROM dj_article u
        WHERE CONCAT(u.short_title,u.title,u.topic,u.keyword) like CONCAT('%',#{title},'%') AND u.deleted='N'
        ORDER BY date DESC
    </select>

由于注释行看着碍眼 我就把他们删了 再运行了一边项目,居然奇迹识别了!!

mybatis标签不能添加注释内容,会导致编译问题,虽然通过了编译,但是在后续的使用中出错!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值