Mybatis OrderBy能否使用外部参数

avatar
作者
筋斗云
阅读量:2

在MyBatis中,OrderBy语句通常是在SQL语句中硬编码的,不支持直接使用外部参数来动态指定排序规则。但是,可以通过动态SQL使用IF或者Choose标签来动态拼接OrderBy语句,从而实现动态排序功能。示例如下:

<select id="selectUsers" parameterType="map" resultType="User">     SELECT * FROM users     <if test="orderBy != null and orderBy != ''">         ORDER BY ${orderBy}     </if> </select> 

在调用该select语句时,可以传入一个orderBy参数来指定排序规则,如:

Map<String, Object> params = new HashMap<>(); params.put("orderBy", "id DESC"); List<User> users = sqlSession.selectList("selectUsers", params); 

这样就可以根据外部参数动态指定排序规则。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!