是的,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參數動態切換排序方式。