1.概述
今天使用Druid时报了如下错误:
Caused by: java.sql.SQLException: sql injection violation, dbType mysql, druid-version 1.2.8, part alway true condition not allow
原来我在写mybatis的注解sql@Select时,为了防止where条件为空,习惯带上1=1,当 where后面直接跟1=1时,不会报错,担当出现【where 条件 and 1=1】时会出现报错,应该是因为druid版本导致。
2.解决
不使用where 1 = 1,改用<where></where>标签防止where条件为空