springbootJpa + QueryDsl查询组件的联合运用<记录>

pom.xml中加入依赖:

  <!-- QueryDSL -->
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-jpa</artifactId>
            <version>${querydsl.version}</version>
        </dependency>
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>${querydsl.version}</version>
            <scope>provided</scope>
        </dependency>

 业务服务层:<示例>

//引入JPA EntityManager
@PersistenceContext
private EntityManager entityManager;

    // 今日累计津贴
        BigDecimal todaySubsidyTotal = new JPAQuery<>(entityManager)
                .select(QSenderRewarding.senderRewarding.amount.sum())
                .from(QSenderRewarding.senderRewarding, QAgent.agent, QSender.sender)
                .where(QAgent.agent.cityCode.eq(QSender.sender.cityId)//代理商和配送员关联
                        .and(QSender.sender.id.eq(QSenderRewarding.senderRewarding.senderId))//配送员和配送员奖励关联
                        .and(QSenderRewarding.senderRewarding.createTime.between(TimeUtils.today(), Instant.now()))//配送员奖励时间限制
                        .and(QAgent.agent.id.eq(agentId)))//根据传入agentId找到对应代理商信息
                .fetchOne();//返回类型

 JPAQuery每次查询都需要重新new下 

 
原文地址:https://www.cnblogs.com/aijiajia1314/p/11424192.html