解决mybatis中order by排序无效问题

 更新时间:2020年12月02日 10:54:56   作者:thankful_chn  
这篇文章主要介绍了解决mybatis中order by排序无效问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1、#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #{user_id},如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id"。

2、$将传入的数据直接显示生成在sql中。如:order by ${user_id},如果传入的值是111,那么解析成sql时的值为order by 111, 如果传入的值是id,则解析成的sql为order by id。

3、#方式能够很大程度防止sql注入。

4、$方式无法防止Sql注入。

5、$方式一般用于传入数据库对象,例如传入表名。

6、一般能用#的就别用$。

ps: 在使用mybatis中还遇到<![CDATA[]]>的用法,在该符号内的语句,将不会被当成字符串来处理,而是直接当成sql语句,比如要执行一个存储过程。

所以order by 之后要使用$而非#。

补充知识:MyBatis-plus数据库字段排序不准确

目录标题

1:今天用mybatis-plus进行开发的时候遇到一个问题,就是用mysql自带的排序进行数据排序的时候,发现排序的数据不准确。

1:今天用mybatis-plus进行开发的时候遇到一个问题,就是用mysql自带的排序进行数据排序的时候,发现排序的数据不准确。

例如:12还没有8,4,2大,这就很郁闷了。

后来在网上查了一下,原来是自己给自己挖的坑,数据库排序字段用的是varcher类型,而排序函数针对的是number类型。

解决方案:

对于mysql和oracle都实用

order by 字段+0

order by 字段*1

因为用的是mybatis-plus,不想写sql怎么办呢?那就用自带的排序函数喽。排序字段直接"+1"就Ok了

//倒叙

queryWrapper.orderByDesc("visit_num+1");

以上这篇解决mybatis中order by排序无效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Springboot整合activemq的方法步骤

    Springboot整合activemq的方法步骤

    这篇文章主要介绍了Springboot整合activemq的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Mybatis-flex整合达梦数据库的实现示例

    Mybatis-flex整合达梦数据库的实现示例

    本文讨论了国产达梦数据库与Mybatis-flex框架的整合过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Java中Spock框架Mock对象的方法经验总结

    Java中Spock框架Mock对象的方法经验总结

    这篇文章主要分享了Spock框架Mock对象的方法经验总结,下文分享一些常用项目实战说明以及代码,供大家项目中参考,也具有一的的参考价值,需要的小伙伴可以参考一下
    2022-02-02
  • java实现的DES加密算法详解

    java实现的DES加密算法详解

    这篇文章主要介绍了java实现的DES加密算法,结合实例形式详细分析了java实现DES加密操作的原理、实现技巧与相关注意事项,需要的朋友可以参考下
    2017-06-06
  • java计算工作时间除去节假日以及双休日

    java计算工作时间除去节假日以及双休日

    这篇文章主要为大家详细介绍了java计算工作时间除去节假日以及双休日的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • java模拟http请求的错误问题整理

    java模拟http请求的错误问题整理

    本文是小编给大家整理的在用java模拟http请求的时候遇到的错误问题整理,以及相关分析,有兴趣的朋友参考下。
    2018-05-05
  • 利用Java写一个学生管理系统

    利用Java写一个学生管理系统

    今天这篇文章就给给大家分享利用Java写一个学生管理系统吧,先写一个简单的用List来实现学生管理系统:
    2021-09-09
  • 详解Kotlin 高阶函数 与 Lambda 表达式

    详解Kotlin 高阶函数 与 Lambda 表达式

    这篇文章主要介绍了详解Kotlin 高阶函数 与 Lambda 表达式的相关资料,需要的朋友可以参考下
    2017-06-06
  • 在maven中引入本地jar包的步骤

    在maven中引入本地jar包的步骤

    这篇文章主要介绍了在maven中引入本地jar包的步骤,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-04-04
  • Springboot定时任务Scheduled重复执行操作

    Springboot定时任务Scheduled重复执行操作

    这篇文章主要介绍了Springboot定时任务Scheduled重复执行操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09

最新评论