zoukankan      html  css  js  c++  java
  • spring data jpa Specification 例子

    /**
     * 封装查询条件
     * 
     * @param baseQueryDTO
     * @return
     */
    private Specification<ActivityBase> getSpecification(ActivityBaseQueryDTO baseQueryDTO) {
        return new Specification<ActivityBase>() {
            @Override
            public Predicate toPredicate(Root<ActivityBase> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
                Predicate predicate = cb.conjunction();
                if (StringUtils.isNotEmpty(baseQueryDTO.getQueryActivityName())) {
                    predicate.getExpressions()
                            .add(cb.like(root.get("activityName"), "%" + baseQueryDTO.getQueryActivityName() + "%"));
                }
                if (StringUtils.isNotEmpty(baseQueryDTO.getQueryOrgCode())) {
                    predicate.getExpressions().add(cb.equal(root.get("orgCode"), baseQueryDTO.getQueryOrgCode()));
                }
                if (baseQueryDTO.getQueryStartDt() != null && baseQueryDTO.getQueryStartDt() != null) {
                    predicate.getExpressions().add(cb.between(root.get("startDt"), baseQueryDTO.getQueryStartDt(),
                            baseQueryDTO.getQueryStartDt()));
                }
                if (StringUtils.isNotEmpty(baseQueryDTO.getActivityType())){
                    predicate.getExpressions().add(cb.equal(root.get("activityType"), baseQueryDTO.getActivityType()));
                }
                return predicate;
            }
        };
    }
  • 相关阅读:
    MySQL之数据库优化
    cookie和session
    php自动加载
    php函数之strtr和str_replace的区别
    php函数之substr()
    阶段总结(一)
    json和xml
    sqlserver交换数据行中的指定列
    3 宏、条件编译
    5 常量与变量
  • 原文地址:https://www.cnblogs.com/wangyang108/p/6003502.html
Copyright © 2011-2022 走看看