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注入。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拼凑代码与编程

拼凑代码与编程&#xff08;Hacking Vs. Programming&#xff09;之间有什么不同&#xff1f;我听说过的一个观点是骇客可以在短时间内编许多代码&#xff0c;但是一旦发生变更&#xff0c;这些代码就要完全重写。而程序员也许会花更多的时间来编码&#xff0c;但发生变化的时候…

实体间的联系

&#xff08;1&#xff09;两个实体型之间的联系&#xff1a; ①一对一联系&#xff08;1∶1&#xff09; ②一对多联系&#xff08;1∶n&#xff09; ③多对多联系&#xff08;m∶n&#xff09; &#xff08;2&#xff09;两个以上的实体型之间的联系&#xff1a; 一般地…

【文章】孝心无价 作者:毕淑敏

我不喜欢一个苦孩子求学的故事。家庭十分困难&#xff0c;父亲逝去&#xff0c;弟妹嗷嗷待哺&#xff0c;可他大学毕业后&#xff0c;还要坚持读研究生&#xff0c;母亲只有去卖血……我以为那是一个自私的学子。求学的路很漫长&#xff0c;一生一世的事业&#xff0c;何必太在…

git源码安装

安装依赖yum -y install perl-ExtUtils-MakeMaker tcl libcurl-devel curl-devel expat-devel yum-y install gettext-devel openssl-devel zlib-devel libcurl4-openssl-dev xmlto yum -y install asciidoc docbook2X openjade texinfo perl-XML-SAX nss curlcd /usr/bin…

chrome 开启 JSONview 方法,让json数据格式化显示

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 在浏览器上作接口测试的时候看到json 格式的数据是密密麻麻的一片&#xff0c;眼睛都花了.. 如&#xff1a; 设置下chrome 浏览器就好了…

联系的度

联系的度&#xff1a;参与联系的实体型的数目 2个实体型之间的联系度为2&#xff0c;也称为二元联系&#xff1b; 3个实体型之间的联系度为3&#xff0c;称为三元联系&#xff1b; N个实体型之间的联系度为N&#xff0c;也称为N元联系

Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate

安装jsonpath&#xff1a;>pip install jsonpath 报错&#xff1a;Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host‘pypi.org’, port443): Max retries exceeded with url: /simple/p…

百度贴吧10亿量级LAMP架构分享

导读&#xff1a;天下武功&#xff0c;唯快不破。对日益激烈的互联网竞争你所拥有的利器就是快&#xff01;本文来自百度贴吧的LAMP解决方案介绍&#xff0c;摘录至此旨在研究分享&#xff0c;看看其是如何全面支持快速迭代的。 文章内容如下&#xff1a; 贴吧是功能性产品&a…

python基础-PyYaml操作yaml文件

yaml语法 格式 它的基本语法规则如下 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键&#xff0c;只允许使用空格。 缩进的空格数目不重要&#xff0c;只要相同层级的元素左侧对齐即可 YAML 支持的数据结构有三种 1、对象&#xff1a;键值对的集合&#xff0c;又称为映…

N1CTF 塞题vote分析

N1CTF 塞题vote分析&#xff1a;这个题是一个uaf的漏洞题&#xff0c;我们先看看漏洞&#xff08;如下图&#xff09;&#xff0c;这两部分是很明显的对比的啊。当单独的一个count数组的数据和堆里的数据相同时候&#xff0c;就会释放堆&#xff0c;堆释放后的count还会有指针指…

String.valueOf()方法与toString()方法的区别

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 两者都是把ObJect对象转化为String 类型。 2.string.valueof()方法有作非空判断&#xff0c;在内部也是调用的toString()方法&#…

网络爬虫--11.XPath和lxml

文章目录一. XML1. XML 和 HTML 的区别2. XML文档示例3. HTML DOM 模型示例4. XML的节点关系二. 什么是XPath&#xff1f;1. 选取节点2. 谓语&#xff08;Predicates&#xff09;3. 选取未知节点4. 选取若干路径5. XPath的运算符三. lxml库1. 初步使用2. 文件读取四. XPath实例…

实体与属性间的划分原则

为了简化E-R图的处置&#xff0c;现实世界的事物能作为属性对待的&#xff0c;尽量作为属性对待。 两条准则&#xff1a; &#xff08;1&#xff09;作为属性&#xff0c;不能再具有需要描述的性质。属性必须是不可分的数据项&#xff0c;不能包含其他属性。 &#xff08;2&…

编程开发之--java多线程学习总结(5)

4、对继承自Runnable的线程进行锁机制的使用 package com.lfy.ThreadsSynchronize;import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;public class TicketSellSolution4 implements Runnable {private static int num 50;//创建一个…

软件测试不是一个功能

今天在工作中我对一个同事说&#xff0c;PyDev 2.5.0现在对TDD&#xff08;测试驱动开发&#xff09;提供了很酷的支持了。我并不是一个对TDD很痴迷的倡导者&#xff0c;对其它事物也一样&#xff0c;但仍不免激起了一场讨论。这个家伙&#xff0c;让我们暂叫他约翰&#xff0c…

Linux 操作系统基础知识

1.操作系统总体介绍 •CPU&#xff1a; 就像人的大脑&#xff0c;主要负责相关事情的判断以及实际处理的机制。查询指令&#xff1a; cat /proc/cpuinfo•内存&#xff1a; 大脑中的记忆区块&#xff0c;将皮肤、眼睛等所收集到的信息记录起来的地方&#xff0c;以供CPU进行判断…

Transaction 那点事儿,Spring事务管理

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Transaction 也就是所谓的事务了&#xff0c;通俗理解就是一件事情。从小&#xff0c;父母就教育我们&#xff0c;做事情要有始有终&…

网络爬虫--12.【XPath实战】获取百度贴吧中的图片

用XPath来做一个简单的爬虫&#xff0c;我们尝试爬取某个贴吧里的所有帖子&#xff0c;并且将该这个帖子里每个楼层发布的图片下载到本地。 #codingutf-8 import requests from lxml import etree import jsonclass Tieba:def __init__(self,tieba_name):self.tieba_name tie…

合并分ER图产生的冲突

合并分E-R图 各个局部应用所面向的问题不同&#xff0c;各个子系统的E-R图之间必定会存在许多不一致的地方&#xff0c;称之为冲突。 子系统E-R图之间的冲突主要有三类&#xff1a; ①属性冲突 ②命名冲突 ③结构冲突①属性冲突 属性域冲突&#xff0c;即属性值的类型、取值范围…

8.类定义、属性、初始化和析构

类定义 类 是一个独立存放变量(属性/方法)的空间 封装&#xff1a; 类可以把各种对象组织在一起&#xff0c;作为类的属性&#xff0c;通过 . (点)运算符来调用类中封装好的对象 属性&#xff1a; 变量在类中称为属性&#xff0c;但是类中的属性不仅仅只包含变量&#x…