是的,Mybatis支持动态切换OrderBy排序。在Mapper.xml中可以使用if语句来判断条件,根据条件动态拼接OrderBy语句。例如:
<select id="selectUsers" parameterType="map" resultType="User">
SELECT * FROM users
<if test="orderBy != null and orderBy != ''">
ORDER BY ${orderBy}
</if>
</select>
在调用查询方法时,可以传入一个包含orderBy参数的Map来动态指定排序方式,如:
Map<String, Object> params = new HashMap<>();
params.put("orderBy", "age DESC");
List<User> users = sqlSession.selectList("selectUsers", params);
这样就可以根据传入的orderBy参数动态切换排序方式。