Mybatis踩坑日记------#{}和${} 报错 merge sql error, dbType mysql, druid-1.2.8

mybatis执行中,druid报错 merge sql error, dbType mysql, druid-1.2.8

如题

先上sql

sql 复制代码
select * from a
        order by #{orderByColumn} #{isAsc}

再代码执行中会报错

解决办法

sql 复制代码
select * from a
        order by #{orderByColumn} ${isAsc}

原因

#{}采用预处理的方式,会出现

sql 复制代码
select * from a
        order by ? ?

两个? ?分别对应 orderByColumn 和 isAsc,因为出现了? ?,预处理时druid报错

${}采用直接替换的方式,会出现

sql 复制代码
select * from a
        order by id asc

orderByColumn 和 isAsc直接被替换掉,故不报错

相关推荐
杨运交5 分钟前
[069][公共模块]Spring Boot 全局异常处理与参数校验实战(下):校验异常精细化处理与 WebFlux 适配
java·spring boot·后端
Raas10025 分钟前
MAI Gateway(魔芋企业级AI网关)对比分析:AI网关和OpenRouter区别?企业级能力差距一览
java·服务器·网络·人工智能·gateway·ai网关·mai gateway
APItesterCris33 分钟前
告别人工盯品!借助 Open‑Claw 快速搭建电商商品全自动监控与数据分析系统(完整实操代码)
java·大数据·前端·数据库
青山木44 分钟前
Hot 100 --- 跳跃游戏 II
java·数据结构·算法·leetcode·贪心算法
ly76891 小时前
Spring 中的 @Configuration 与 @Component 差异:为何代理时机决定 Bean 生命周期行为
java·后端·spring·注解·代理·bean生命周期
qq_452396231 小时前
第十二篇:《数据采集:Grafana Alloy、Fluent Bit、Vector 的选型与配置》
java·贪心算法·grafana
珍珠先生1 小时前
P16 · IDEA 启动报错:找不到或无法加载主类
java
子非鱼a1 小时前
【WEB】[RoarCTF 2019]Easy Java
java·开发语言
西峰u1 小时前
电商项目测试报告
java·项目测试报告
lemon_sjdk1 小时前
各种Binding(1)
java·javafx·绑定·源码解析