mybatis动态排序查询数据

mybatis动态排序查询数据

有时我们需要从前端动态传过来按照某个字段排序,如果写很多sql去匹配查询条件,不仅代码冗余,而且可维护性很低。
此时我们使用order by ${}对数据表进行动态排序。

测试数据库如下
在这里插入图片描述

首先我们在实体类中,写入@Transient注解的order字段用来承接前端传过来的需要排序的字段

@Transient
  private String order;//getter、setter方法略

然后我们在mapper.xml查询sql的where后面这样写:

<if test="order!=null and order!=''">
            	order by ${order}
</if>

比如前端order传过来是"idCode"字符串

xml被解析后where后面变成:

order by idCode

希望大家留言交流,谢谢。


版权声明:本文为qq_38105536原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。