mybatis动态排序查询数据

mybatis动态排序查询数据

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

测试数据库如下
mybatis动态排序查询数据_第1张图片

首先我们在实体类中,写入@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

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

你可能感兴趣的:(mysql,mysql,sql,数据库,java)