ゞ 正在加载99%967 2023-08-30 20:26 采纳率: 33.3%
浏览 19

为什么输出了语句但是报错(语言-java)

img

img


mybatis为什么输出了语句但是报错,
....<

 ........ <select id="getallclassifyList" resulttype="List">    
 SELECT 'id','classify_name’,'status’,'create_time’FROM 'classify'
 <where>    
 <if test="classifyName ≠ null and classifyName ≠ ''">    
 'classify_name’LIKE CONCAT('%’,#{classifyName}, '%' )    
 </if>    
 </where>         
 </select>
  • 写回答

5条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-30 22:21
    关注

    【以下回答由 GPT 生成】

    问题的原因是你在SQL语句中使用了不正确的语法。具体来说,以下几个地方需要进行修改:

    1. <span>标签应该被移除:在SQL语句中使用<span>标签是不正确的,它只能用于HTML中。所以你需要将<span>标签从代码中移除。

    2. SELECT语句中的字段名需要用反引号括起来:在SELECT语句中,字段名应该使用反引号()括起来,而不是单引号(')。所以你需要将classify_namestatuscreate_time`这三个字段名使用反引号括起来。

    3. FROM语句中的表名应该使用反引号括起来:在FROM语句中,表名应该使用反引号括起来,而不是单引号。所以你需要将classify这个表名使用反引号括起来。

    4. LIKE语句中的通配符需要双引号括起来:在LIKE语句中,通配符需要使用双引号(")括起来,而不是单引号。所以你需要将"%’,#{classifyName}, ‘%’这部分代码中的单引号改为双引号。

    根据以上几点的修改,你的SQL语句应该修改为以下的形式:

    <select id="getallclassifyList" resultType="List">
        SELECT `id`, `classify_name`, `status`, `create_time` FROM `classify`
        <where>    
            <if test="classifyName != null and classifyName != ''">
                `classify_name` LIKE CONCAT("%", #{classifyName}, "%")
            </if>    
        </where>
    </select>
    

    请根据以上的修改重新尝试运行程序,应该可以解决你遇到的问题。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 8月30日

悬赏问题

  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏
  • ¥15 Wanted but not invoked:Actually, there were zero interactions with this moc
  • ¥20 怎么驱动tb6612