前端页面有两个排序字段,一个是访问时间visit_time,一个是浏览时长visit_duration,这两个字段都支持排序,并且两种排序只有一种会生效,无需同时生效,那么后端接口该怎么设计入参? 后端mybatis的sql该如何写
时间: 2023-03-20 15:02:39 浏览: 101
如何基于spring boot和mybatis创建一个mysql数据库的访问接口
后端接口可以设计一个请求参数,用于指定排序方式,例如可以使用一个名为 "sort_by" 的参数。它可以取值为 "visit_time" 或 "visit_duration",表示按照访问时间或者浏览时长进行排序。
在MyBatis的SQL中,可以使用动态SQL来根据参数来生成排序的SQL语句。例如:
```
SELECT * FROM your_table
ORDER BY
<if test="sortBy == 'visit_time'">
visit_time
</if>
<if test="sortBy == 'visit_duration'">
visit_duration
</if>
```
这里使用了 MyBatis 的 if 元素,根据传入的 "sortBy" 参数的值来决定生成的 SQL 语句中的排序字段。如果 "sortBy" 的值是 "visit_time",则按照 "visit_time" 字段排序,否则按照 "visit_duration" 字段排序。
阅读全文