温馨提示×

Mybatis OrderBy能否使用外部参数

小樊
116
2024-07-09 21:34:23
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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);

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

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:mybatis排序是否可以使用外部参数

0