oracle 写条件参数,Order By 排序条件中带参数的写法(Oracle数据库、MyBatis)

maven/java/web/bootstrapQQ群:566862629。希望更多人一起帮助我学习。

sortWay 是参数。 当sortWay 为 llpx 就ORDER BY FORMAT ASC,为btypx 就ORDER BY BID DESC ,为zhpx 就ORDER BY FORMAT ASC,BID DESC

SELECT

XXX,XXX

FROM TB_XXX

AND ID = #{id}

AND ACCOUNT = #{account}

AND STATE = #{state.code}

ORDER BY FORMAT ASC

ORDER BY BID DESC

ORDER BY FORMAT ASC,BID DESC

我本来觉得上面方法是可以的,但是不知道什么地方有问题运行会说在 位置就该是标签了。

希望有人解决了给我说下这个方法是不是可以用。

最后Order By 排序条件中带参数的写法 我还是无奈的用ORDER BY ${sortsql} ,就是在后面传参数 拼sql的方式实现的。

我查到说${}是不安全的,推荐用#{}。

#{}是安全的,可以防止sql注入,会预预编译在参数外面加上单引号‘’ ,在order by后面参数加单引号会语句无效。只好还是用了${}。

这个问题怎么办 如果有人知道也非常希望给我说说。

后记 :ORDER BY ${参数1}${参数2} 这种写法是OK的,只是要在代码中先过滤性验证前端传入的参数是不是合规的,作验证防止sql注入。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值