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版权协议,转载请附上原文出处链接和本声明。