enum OrderType
{
ASC = 0,
DESC = 1,
};
// 排序条件
struct SortCondition
{
0 require string fieldName; // 字段名称
1 require OrderType orderType = ASC; // 排序方式
};
enum FilterOperator
{
LIKE = 0,
EQ = 1,
GT = 2,
LT = 3,
};
enum FilterConnector
{
AND = 0,
OR = 1,
};
// 过滤条件
struct FilterCondition
{
0 require FilterOperator op; // 过滤操作符
1 require FilterConnector connector; // 过滤操作符
2 require string name; // 名称
3 require string value; // 值
};
// 店铺列表请求
struct ListShopReq
{
0 require UserSession session; // 用户会话
1 require int start = 1; // 开始位置
2 require int limit = 10; // 每页条数
3 optional vector<SortCondition> sortConditions; // 排序条件,支持:shopName,shopId,appKey
4 optional vector<FilterCondition> filterConditions; // 过滤条件,支持:shopName,shopId,appKey,status
};
```代码就是这样的了,要传店铺列表请求这些东西,vector就相当与list,有知道后台sql怎么拼的么,实在是懵逼
关于复杂的过滤和排序,java后端的,mybatis里面的sql语句怎么拼,急求,有大佬做过这样的么
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
独家de记忆 2017-10-23 06:57关注也就是说让你在service中根据各种条件拼接一句完整的sql String,传到mybatis,
XML中只需要<select id="XXXX" parameteType="java.lang.String" resultType="java.util.Map"> ${sqlStr} </select>本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报