#{ } 被解析为一个参数占位符 ?
,的变量的替换是在 DBMS 中,字段参数尽量使用#{},相同的预编译 sql 可以重复利用
${ } 是纯碎的字符串替换,在动态 SQL 解析阶段将会进行变量替换,表名作为变量时,必须使用 ${ },因为表名是字符串,使用 sql 占位符替换字符串时会带上单引号 ''
,这会导致 sql 语法错误
#{ } 被解析为一个参数占位符 ?
,的变量的替换是在 DBMS 中,字段参数尽量使用#{},相同的预编译 sql 可以重复利用
${ } 是纯碎的字符串替换,在动态 SQL 解析阶段将会进行变量替换,表名作为变量时,必须使用 ${ },因为表名是字符串,使用 sql 占位符替换字符串时会带上单引号 ''
,这会导致 sql 语法错误