关于MySQL自定义排序(Java & MySQL 版本)

前言:

首先需要这个自定义排序的字段需求是,在本地项目的点赞功能 时 比如你有两个id ,需要对先点赞的用户id 这个字段先显示后面的,现在点赞的用户显示在前面时,用到。

1、 数据库字段sql 实现

当字段的值比较多时,首先想到的肯定时in 这个字段。然后查询:id 1 在前,5在后,我需要 5 在前1 在后这个样子才合了我的口味。
在这里插入图片描述

2、Mybatis 中怎们实现这个自定义排序功能

1、在Mapper 文件中我试了下暂时还没想出来,后面研究。
2、根据老师的写法如下:
在这里插入图片描述

重点:3、但是这样写是有问题:在控制台会报错你的语法错误 在near 第三行有语法错误。

报错这个问题的原因困扰了我几天,在前端页面显示就是服务器错误。
在这里插入图片描述

控制台报错信息:

Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘)) ORDER BY FIELD (id,)’ at line 3
在这里插入图片描述

解决办法:

1、是MySQL 版本的问题,我本地Mysql 版本是8.0版面+ 的,老师应该是5.+ 版本的。所以我想来想去就根据报错的地方改下代码试试看。

2、Java代码如下:
在这里插入图片描述

3、改完之后发布代码,在看看,的确没这个错了。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值