Mybatis xml中排序(order by)条件用#{}查询失败

问题描述:

处理简单分页时,发现从外部传入的排序条件无法生效,但程序无报错,正常返回列表,只是排序条件不对;

原因:

#{}表示一个占位符,当#{}传入的数据是一个字符串时,会自动将传入的数据加一个双引号。

解决方法:

使用${}将传入的数据直接显示生成在sql中;

1、当查询语句使用#{},例如传入"update_date desc"排序条件,生成语句如下

复制代码
select id, title, name, status, create_by,create_date,update_by,update_date from table 
WHERE status = 1 order by "update_date desc"

2、使用${}生成语句是:

复制代码
select id, title, name, status, create_by,create_date,update_by,update_date from table 
WHERE status = 1 order by update_date desc

3、推荐文章

Mybatis中${}和#{}的区别:https://blog.csdn.net/BBQ__ZXB/article/details/127089187

相关推荐
cike_y1 小时前
Mybatis-万能的Map&模糊查询
java·开发语言·mybatis·安全开发
开开心心_Every1 小时前
无广告干扰:简单好用文字LOGO设计工具
xml·java·网络·数据库·华为od·华为云·excel
罗政2 小时前
mybatis-plus插件解决sql报错:this is incompatible with sql_mode=only_full_group_by ”
数据库·sql·mybatis
武子康3 小时前
Java-210 Spring AMQP 整合 RabbitMQ:JavaConfig 注解配置、RabbitTemplate 发送/同步接收与坑位速查
xml·java·spring·消息队列·rabbitmq·java-rabbitmq·mq
小句3 小时前
MyBatis源码学习
学习·mybatis
jiayong233 小时前
`.flattened-pom.xml` 深度解析
xml
阿拉斯攀登4 小时前
设计模式:责任链模式(mybatis数据权限实现)
设计模式·mybatis·责任链模式
阿拉斯攀登4 小时前
设计模式:责任链模式(MyBatis)
设计模式·mybatis·责任链模式
小李飞飞砖4 小时前
RemoteViews的layout无法设置xml类型的Drawable,会报错
xml
无名-CODING4 小时前
MyBatis 动态 SQL 全攻略
数据库·sql·mybatis