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直接被替换掉,故不报错