Mybatis动态SQL进行order by

将#{} 改为${}

请求参数:在这里插入图片描述
在这里插入图片描述

原SQL
在这里插入图片描述
运行结果:
在这里插入图片描述

修改后:
在这里插入图片描述
成功:
在这里插入图片描述
#{}和${}区别:

1#{}表示一个占位符,能够实现PreparedStatement向占位符中设置值,自动进行java类型和jdbc类型的转换,防止SQL注入。
2、接收简单数据类型的数据或者pojo属性值(javabean)
3、使用#{}作为占位符时,如果接收的实参是基本数据类型,可以使用任意名称来接收,包括使用value名称接收
1、${}表示拼接SQL字符串,将PreparedStatement传入的数据拼接到SQL语句中,不会进行jdbc类型转换,
2、接收简单数据类型的数据或者pojo属性值(javabean)
3、当使用${}作为字符串连接时,当前接收实参的变量名称只能使用value,${
   
   value}

感谢:https://www.cnblogs.com/sxdcgaq8080/p/9848016.html

猜你喜欢

转载自blog.csdn.net/C2667378040/article/details/109117922