温馨提示×

Mybatis OrderBy排序能否动态切换

小樊
144
2024-07-09 21:30:24
栏目: 编程语言

是的,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参数动态切换排序方式。

0