Order By 排序条件中带参数的写法(Oracle数据库、MyBatis)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
sortWay 是参数。 当sortWay 为 llpx 就 ORDER BY FORMAT ASC,为 btypx 就ORDER BY BID DESC ,为 zhpx 就 ORDER BY FORMAT ASC,BID DESC
<select id="selectXXX" parameterType="Map" resultMap="XXXXResultMap">SELECT XXX,XXX FROM TB_XXX <where><if test="id != null and id != ''">AND ID = #{id}</if><if test="account != null and account != ''">AND ACCOUNT = #{account}</if><if test="state != null and state != '' and state.code != null and state.code != ''">AND STATE = #{state.code}</if></where><order><if test=" sortWay != null and sortWay == 'llpx'">ORDER BY FORMAT ASC</if><if test=" sortWay != null and sortWay == 'btypx'">ORDER BY BID DESC </if><if test=" sortWay != null and sortWay == 'zhpx'">ORDER BY FORMAT ASC,BID DESC </if></order></select>
我本来觉得上面方法是可以的,但是不知道什么地方有问题运行会说在<order> 位置就该是<mapper>标签了。
希望有人解决了给我说下这个方法是不是可以用。
最后Order By 排序条件中带参数的写法 我还是无奈的用 ORDER BY ${sortSql} ,就是在后面传参数 拼sql的方式实现的。
我查到说${}是不安全的,推荐用#{}。
#{}是安全的,可以防止sql注入,会预预编译在参数外面加上单引号‘’ ,在order by后面参数加单引号会语句无效。只好还是用了${}。
这个问题怎么办 如果有人知道也非常希望给我说说。
后记 : ORDER BY ${参数1} ${参数2} 这种写法是OK的,只是要在代码中先过滤性验证前端传入的参数是不是合规的,作验证防止sql注入。
Order By 排序条件中带参数的写法(Oracle数据库、MyBatis)相关推荐
- 【Hibernate】Hql语句in中带参数的写法
在页面中通过自定义标签查询一个列表的多种状态的数据,如下,查状态为1和3的数据: [@s_icloud_resource_list count='8' orderBy='1' type='4' sta ...
- 微信小程序中带参数返回上一页的方法总结(三种)
本篇文章给大家带来的内容是关于微信小程序中带参数返回上一页的方法总结(三种),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方法一 把当前页面数据放入本地缓存( wx.setStor ...
- Struts2中带参数的结果集
1.在Struts2中带参数的结果集,即向结果集传参.struts2中有转发和重定向到某个视图,其中转发的过程在服务端完成,这个过程共享一个value stack(值栈),客户端并不知道页面跳转到了哪 ...
- 4_less中带参数混合
less中你可以定义一些形参,将数值传入形参, 然后再将形参赋予给某一元素(就是利用形参为该元素添加属性) 如: // 创建一个形参 .whc(@w:,@h:,@c) {width: @w;heigh ...
- matlab中带参数定积分的求解
原文地址为: matlab中带参数定积分的求解 点击打开链接 1.首先,如果要对quad函数传递附加参数(Extra Parameters),应该先搞清楚quad函数的调用格式: 1 q = qu ...
- JavaScript调用cs中带参数的函数
这个问题就是在前台js中调用c#后台中带参数的函数 如: .cs: public string Method(string name) { return name; } javascript: v ...
- dataset中的数据批量导入oracle数据库,c#如何将dataset中的数据批量导入oracle数据库...
c#如何将dataset中的数据批量导入oracle数据库以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c#如何将da ...
- cx_oracle主备服务器,怎么在Python中使用cx_Oracle模块对Oracle数据库进行操作
怎么在Python中使用cx_Oracle模块对Oracle数据库进行操作 发布时间:2021-03-17 16:32:34 来源:亿速云 阅读:67 作者:Leah 本篇文章为大家展示了怎么在Pyt ...
- summernote富文本中上传图片并保存到Oracle数据库的问题解决
文章目录 Summernote 问题一:Uncaught TypeError: $(...).summernote is not a function 问题二 :GET http://***/summ ...
最新文章
- 关于SQLServer2000中触发器的使用——多行数据提交
- 20172301 《程序设计与数据结构》第七周学习总结
- docker安装flowable-ui
- 关于range方法,如果你觉得python很简单就错了
- java runtime 异常_Java中RuntimeException和Exception
- 有关8086必须记住的几个数(持续更新)
- 拓端tecdat|R语言使用自组织映射神经网络(SOM)进行客户细分
- objC 类名后圆括号的意义
- linux ora03113,ora-03113 问题解决
- 网站 小图标 大全 url
- ei指什么_EI是什么
- 为人处世,请从学会闭嘴开始!
- GNSS观测方程及线性组合
- 无穷微积分牵手“知识共享”,如虎添翼,所向无敌
- excel求方差和标准差的函数_Excel标准差_计算函数Stdev和StdevP的使用方法
- Maira-云视频解析(使用方法)
- excel php时间,excel时间函数
- 技术水平的确很高,正规公司为什么还是不录用这些人(技术水平不高的更不可能)
- cadence 原理图orcad使用总结篇二:FPGA/CPLD换PIN方法
- python 贴吧自动回复_python 几行代码实现自动回复功能
热门文章
- 【Github】怎么在README.md中添加图片?
- 【Python 必会技巧】[i for i in range(1,10)] — 列表解析式,列表中使用 for 循环
- REVERSE-PRACTICE-BUUCTF-25
- 查询sql语句是否使用索引
- CCNA-第二篇-路由器交换机概述
- 【Python学习】 - sklearn学习 - 数据集分割方法 - 随机划分与K折交叉划分与StratifiedKFold与StratifiedShuffleSplit
- *【CodeForces - 859C 】Pie Rules (博弈dp,时光倒流)
- CURLE_WRITE_ERROR
- 人工智能在fpga的具体应用_人工智能带动了FPGA的发展
- 计算机少年宫辅导教师总结,微机兴趣小组活动总结