Mybatis中order by排序问题

日前,在做动态字段排序功能时遇到的了问题,sql语法都对了,也能在数据库中正确执行,但就是在代码中执行的时候未有正确结果返回。整了许久,才找到了以下几篇关于mybatis排序的问题,原来竟然受接收参数方式的影响:${parameter}和#{parameter},可能是mybatis的特殊处理。但是,对于${ }的用法,需要注意以下几点:

  • ${}方式存在sql注入,所以,对于使用前端传过来的值的时候,一定要进行转义,不要直接使用
  • 一般能用#{}的就别用${}
  • ${}方式一般用于传入数据库对象,例如传入表名、排序规则等
  • 简单来说,#{}是经过预编译的,是安全的;${}是未经过预编译的,仅仅是取变量的值,是存在SQL注入的,是非安全的

1、Mybatis中order by排序问题

http://blog.csdn.net/hu_zhiting/article/details/53026448

2、Mybatis中order by排序失败的解决方法

http://blog.csdn.net/rainbow702/article/details/53906763

猜你喜欢

转载自blog.csdn.net/u014698745/article/details/79603432