1,588   Oracle

mybatis 编写xml的SQL文件时,需要用到排序order by

1,一般情况下,使用#{key}来获取传入的参数组装SQL,它会把key值当成字符,比如 order by #{param} , 如果传入的param是user_id desc,那么组装完后就是 order by ‘user_id desc’;

2,${key}会直接显示在SQL中而不会加双引号,比如 order by ${param} , 如果传入的param是user_id desc,那么组装完后就是 order by user_id desc ;

3,显然使用order by排序时,使用${key}获取传入值才是正确的

4,但是使用${key}会有SQL的注入风险




Leave a Reply

Your email address will not be published. Required fields are marked *