阿里云表格存储OtsQueryWrapper

最近项目因为数据量太大接入阿里云表格存储,粗略了看了下ots的java开发sdk,结果发现执行一个简单的多条件查询过于麻烦

下面是一段ots提供的sdk查询代码

/**
 * 通过BoolQuery进行And条件查询。
 * @param client
 */
public static void andQuery(SyncClient client){
    /**
     * 查询条件一:RangeQuery,Col_Long的列值大于3。
     */
    RangeQuery rangeQuery = new RangeQuery();
    rangeQuery.setFieldName("Col_Long");
    rangeQuery.greaterThan(ColumnValue.fromLong(3));

    /**
     * 查询条件二:MatchQuery,Col_Keyword的列值要匹配"hangzhou"。
     */
    MatchQuery matchQuery = new MatchQuery();
    matchQuery.setFieldName("Col_Keyword");
    matchQuery.setText("hangzhou");

    SearchQuery searchQuery = new SearchQuery();
    {
        /**
         * 构造一个BoolQuery,设置查询条件为必须同时满足"查询条件一"和"查询条件二"。
         */
        BoolQuery boolQuery = new BoolQuery();
        boolQuery.setMustQueries(Arrays.asList(rangeQuery, matchQuery));
        searchQuery.setQuery(boolQuery);
        //searchQuery.setGetTotalCount(true);//设置返回匹配的总行数。

        SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
        //通过设置columnsToGet参数可以指定返回的列或返回所有列,如果不设置此参数,则默认只返回主键列。
        //SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
        //columnsToGet.setReturnAll(true); //设置为返回所有列。
        //columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); //设置为返回指定列。
        //searchRequest.setColumnsToGet(columnsToGet);

        SearchResponse resp = client.search(searchRequest);
        //System.out.println("TotalCount: " + resp.getTotalCount()); //打印匹配到的总行数,非返回行数。
        System.out.println("Row: " + resp.getRows());
    }
}

没办法,作为一名忠实的mybatis-plus的粉丝,不得不借鉴一下mybatis-plus的某些特性,做了一个OtsQueryWrapper。

下面是一段经过封装后的ots查询代码

OtsQueryWrapper<UserInfo> wrapper = new OtsQueryWrapper<>();
wrapper.eq(UserInfo::getUserName,"张三");
wrapper.like(UserInfo::getPhone,"123940313");

OtsQuery query = new OtsQuery();
query.setPageSize(10);
List<UserInfo> userInfos = OtsClient.queryPage(wrapper, "user_info", "user_info_index", "id", query,UserInfo.class, "");

是不是感觉又回到了mybatis-plus的世界哈哈

代码地址:ots-boot-starter: 阿里云OTS表格存储多元索引查询组件,可以像mybatis-plus一样做到轻松的wrapper封装查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值