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

相关推荐
面朝大海,春不暖,花不开10 小时前
结构化数据格式解析:JSON 与 XML 的技术应用与实践
xml·json
N维世界20 小时前
Mybatis-XML映射文件
xml·java·mybatis
SuperherRo1 天前
Web攻防-XML&XXE&无回显带外&SSRF元数据&DTD实体&OOB盲注&文件拓展
xml·xxe·ssrf·dtd·无回显·文件扩展·oob盲注
资讯第一线1 天前
MSXML 6.0 SP1 x86 x64 (XML解析器) 下载
xml
秋千码途1 天前
小架构step系列08:logback.xml的配置
xml·java·logback
慧一居士1 天前
MyBatis-Plus的完整使用示例,完整使用示例手册
mybatis
sleepcattt2 天前
Spring中Bean的实例化(xml)
xml·java·spring
艺杯羹2 天前
MyBatis之核心对象与工作流程及SqlSession操作
java·mybatis
旷世奇才李先生2 天前
XML DOM 安装使用教程
xml·前端·chrome
天天摸鱼的java工程师2 天前
MyBatis Plus 的实用技巧:从业务场景到代码实现
java·后端·mybatis