解决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排序无效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Javaweb状态管理的Session和Cookie

    详解Javaweb状态管理的Session和Cookie

    这篇文章主要介绍了Javaweb状态管理的Session和Cookie,将浏览器与web服务器之间多次交互当做一个整体来处理,并且多次交互所涉及的数据(状态)保存下来,需要的朋友可以参考下
    2023-05-05
  • 使用jmx exporter采集kafka指标示例详解

    使用jmx exporter采集kafka指标示例详解

    这篇文章主要为大家介绍了使用jmx exporter采集kafka指标示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Mac OS上安装Tomcat服务器的简单步骤

    Mac OS上安装Tomcat服务器的简单步骤

    这篇文章主要介绍了Mac OS上安装Tomcat服务器的简单步骤,包括简单的启动命令和查看Tomcat信息的方法,需要的朋友可以参考下
    2015-11-11
  • 使用InputStream的available()能否用来判断当前流是否读取到文件

    使用InputStream的available()能否用来判断当前流是否读取到文件

    这篇文章主要介绍了使用InputStream的available()能否用来判断当前流是否读取到文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Django rest framework使用类视图实现首页API

    Django rest framework使用类视图实现首页API

    这篇文章主要介绍了Django rest framework使用类视图实现首页API,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java实现五子棋AI算法

    Java实现五子棋AI算法

    这篇文章主要为大家详细介绍了Java实现五子棋AI算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Java继承的问题引导和测试代码

    Java继承的问题引导和测试代码

    这篇文章主要介绍了Java继承的问题引导和测试代码,涉及继承的概念,合成的语法等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2021-08-08
  • SpringBoot自动配置深入探究实现原理

    SpringBoot自动配置深入探究实现原理

    在springboot的启动类中可以看到@SpringBootApplication注解,它是SpringBoot的核心注解,也是一个组合注解。其中@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三个注解尤为重要。今天我们就来浅析这三个注解的含义
    2022-08-08
  • java创建子类对象设置并调用父类的变量操作

    java创建子类对象设置并调用父类的变量操作

    这篇文章主要介绍了java创建子类对象设置并调用父类的变量操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • JAVA中使用双括号来初始化静态常量的小技巧

    JAVA中使用双括号来初始化静态常量的小技巧

    这篇文章主要介绍了JAVA中使用双括号来初始化静态常量的小技巧,需要的朋友可以参考下
    2014-06-06

最新评论