allergic_mango
allergic_mango
采纳率100%
2021-03-03 16:06

QueryWrapper里面的值如何获取

30
已采纳

例如我的代码  

我先是

QueryWrapper queryWrapper = new queryWrapper;

queryWrapper.eq(“taskseq”,1111);

我如何获取到这个1111,

1.这个eq不是类似于set方法嘛,应该是吧QueryWrapper里面的某个成员变量给赋值了,我是想通过什么方法来获取get这个1111这个值

2.或者说我换个问法,对于powerMock如何做到mock数据库方法时对不同的参数返回不同的结果,特别是当这个数据库dao方法的参数是一个对象时。怎么办?

问题1和问题2解决一个就可以,其实差不多。如有有人知道,我可以追加报酬。

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • ProfSnail ProfSnail 1月前
    import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
    
    import java.util.Set;
    
    public class Query {
        public static  void main(String argv[]){
            QueryWrapper queryWrapper = new QueryWrapper();
            queryWrapper.eq("taskseq",1111);
            queryWrapper.getCustomSqlSegment();
            Set a = queryWrapper.getParamNameValuePairs().keySet();
            for(Object key: a){
                System.out.println(key);
                System.out.println(queryWrapper.getParamNameValuePairs().get(key));
                Object value = queryWrapper.getParamNameValuePairs().get(key);
            }
        }
    }
    
    ===========================================
    再不然就是这个。
    queryWrapper.getExpression().getNormal().get(2).toString();
    
    点赞 1 评论 复制链接分享
  • ProfSnail ProfSnail 1月前
    import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
     
    import java.util.Set;
     
    public class Query {
        public static  void main(String argv[]){
            QueryWrapper queryWrapper = new QueryWrapper();
            queryWrapper.eq("taskseq",1111);
            queryWrapper.getCustomSqlSegment();
            Set a = queryWrapper.getParamNameValuePairs().keySet();
            for(Object key: a){
                System.out.println(key);
                System.out.println(queryWrapper.getParamNameValuePairs().get(key));
                Object value = queryWrapper.getParamNameValuePairs().get(key);
            }
        }
    }
    

    这里的value就是你要的1111.

    是通过queryWrapper.getParamNameValuePairs()返回的MAP,根据MAP的key值返回的value.value就是1111.

    你试一下。如果不对继续跟我交流。

    点赞 评论 复制链接分享
  • Askio Askio 1月前

    你要获取 

    queryWrapper.eq(“taskseq”,1111); 中“1111”的值。不是获取这个查询返回的值吗?

    点赞 评论 复制链接分享
  • qq_34370249 qq_34370249 1月前

    没太理解你的意思,如果该字段该字段会发生变化,那就用一个变量来接收他,然后在debug中,就可以看到了,测试结束后,把该变量删除。

    QueryWrapper queryWrapper = new QueryWrapper();
    		int a = 111;
    		queryWrapper.eq("task",a);
    点赞 评论 复制链接分享
  • allergic_mango allergic_mango 1月前

    点赞 1 评论 复制链接分享