业务场景

数据库两个字段 D  和 RiskGrade

在按照风险等级查询时需要判断  (D值>=160且<320)或(RiskGrade=48)

在sql中会根据()来进行条件的区分

QueryWapper怎么用呢 

错误示范

这样后面在拼接其他条件所查询出的数据和所想象的并不一样

new QueryWapper().ge("d",160).lt("d",320).OR.eq("riskGrade",64)

正确用法

用到qwerywapper自带的 and嵌套

这样拼接出的sql会带上()


    /**
     * AND 嵌套
     * <p>
     * 例: and(i -&gt; i.eq("name", "李白").ne("status", "活着"))
     * </p>
     *
     * @param condition 执行条件
     * @param consumer  消费函数
     * @return children
     */
    Children and(boolean condition, Consumer<Param> consumer);

 ledgerHazardGridRelationTwoQueryWrapper.and(wrapper -> wrapper.lt("value_at_risk_d", 320).ge("value_at_risk_d", 160)
                        .or().eq("risk_grade", RISK_GRADE_LOW));



 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐