mybatis orderbyclause怎么用?

如题所述

字符串替换。

默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,有时你只是想直接在SQL语句中插入一个不改变的字符串。比如,像ORDER BY,你可以这样来使用: 

ORDER BY ${columnName} 

这里MyBatis不会修改或转义字符串。 

重要:接受从用户输出的内容并提供给语句中不变的字符串,这样做是不安全的。这会导致潜在的SQL注入攻击,因此你不应该允许用户输入这些字段,或者通常自行转义并检查。 

MyBatis排序:

MyBatis排序时,ORDER BY 后的参数应该形如:ORDER BY ${sname} ${sord} 

sname : 排序字段 

sord : 排序顺序 (ASC,DESC) 

MyBatis排序时,ORDER BY 后的参数如果形如:ORDER BY #{sname} #{sord} 

sname : 排序字段 

sord : 排序顺序 (ASC,DESC) 

则不能返回想当然正确的结果。

扩展资料:

各类编程语言:

C语言 即中文版的C语言。

O语言 O语言是一款中文计算机语言(或称套装:O汇编语言、O中间语言、O高级语言)。

AAuto是专用于桌面软件快速开发的新型混合型编程语言。

APL、A+和J。

Ada是一种表现能力很强的通用程序设计语言

ActionScriptActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种面向对象编程语言。

AWKAWK是一种优良的文本处理工具。

Basic是一种设计给初学者使用的程序设计语言。

Brainfuck是一种极小化的计算机语言。

C++、C#: C语言是一种面向过程的计算机程序设计语言; C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。

它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。C#是微软公司发布的一种面向对象的、运行于 .NET Framework 之上的高级程序设计语言。

参考资料:

百度百科—编程

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-08-04

myBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架;order by 表示以...排序的意思;clause 表示从句,分句,条款,款项等意思。那么mybatis order by clause 译为”用框架给这些款项排序“。

    排序,是个很基础的需求。实现的时候只需要在查询语句后面加上order by 某个字段即可。在mybatis中,用工具可以帮助我们自动生成底层的一套东西,便可以满足我们基本的增删改查需求。

    用mybatis自动生成工具,会生成几个文件,其中包括~Mapper.XML和~Example文件。我们能够实现基本的增删改查,也是建立在这几个文件的基础上。如下图所示:

    所以说,在我们逻辑层代码中,利用Example进行条件查询的时候,也可以将orderBy条件写上,具体代码如下:ublic List<Article> findAllArticles() { ArticleExample example = new ArticleExample(); example.setOrderByClause("`index` ASC,id ASC"); List<Article> list = articleMapper.selectByExample(example); LOG.debug("findArticles with site={} and categoryId={} return: {}", list); return list; }

本回答被网友采纳
相似回答