j_query在后台代码使用体现在一下几个方面

1、j_query与Query对象的转换

MethodArgument param 对象构建时会自动转换参数为Query对象并放入param中
String j_query = request.getParameter("j_query");
if (StringUtil.isNotEmpty(j_query)) {
    param.setQuery(Query.build(j_query));
}
Controller中使用方式如下
//获取查询条件
Query query = param.getQuery();

正确格式的json字符串也可以通过 Query.build(str) 构建 Query对象
//获取查询条件
Query query = Query.build(str);

2、Query对象的简单使用

  • 1. 添加where条件
query.addCustom("ZHID", ConditionEnum.EQ, currentUser.getZhId());
  • 2. 添加order条件
query.addOrder("code", "");
query.addOrder("code", "DESC");
  • 3. MetaService.select()使用
//构建where语句
ConditionsWrapper wrapper = query.buildWrapper();
//添加order
if(!query.getOrder().isEmpty()){
    wrapper.apply(" ORDER BY ").apply(query.buildOrder());
}
//指定资源表名查询
List<DynaBean> users = metaService.select("JE_CORE_ENDUSER", wrapper);
最终sql拼接结果可以通过 wrapper.getSql(); 查看校验
  • 4. MetaService.selectSql()使用
//设置select语句
ConditionsWrapper wrapper = ConditionsWrapper
        .builder("select ID,CODE,NAME from JE_CORE_ENDUSER where ");
//添加where语句
query.buildWrapper(wrapper);
//添加order
if(!query.getOrder().isEmpty()){
    wrapper.apply(" ORDER BY ").apply(query.buildOrder());
}
//执行查询
List<Map<String, Object>> users = metaService.selectSql(wrapper);

最终拼接结果可以通过 wrapper.getSql(); 查看校验
最后编辑: 呼丽华  文档更新时间: 2024-08-21 10:58   作者:呼丽华