zoukankan      html  css  js  c++  java
  • 如何在Spring Data JPA中引入Querydsl

    一、环境说明

    基础框架采用Spring Boot、Spring Data JPA、Hibernate。在动态查询中,有一种方式是采用Querydsl的方式。

    二、具体配置

    1、在pom.xml中,引入相关包和配置插件。

    (1)引入包(注:不需要版本号,Spring Boot 会自动匹配合适的版本)

    <!-- Querydsl相关包 -->         
             <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-jpa</artifactId>
            </dependency>
            
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-apt</artifactId>
            </dependency>

    (2)配置插件:主要用来生成“查询对象”。

                <plugin>
                  <groupId>com.mysema.maven</groupId>
                  <artifactId>maven-apt-plugin</artifactId>
                  <version>1.0.4</version>
                  <executions>
                    <execution>
                      <phase>generate-sources</phase>
                      <goals>
                        <goal>process</goal>
                      </goals>
                      <configuration>
                        <outputDirectory>target/generated-sources</outputDirectory>
                        <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                      </configuration>
                    </execution>
                  </executions>
                </plugin>             

     

    2、设置源文件夹

    经过上面pom.xml的配置后,就在 target/generated-sources 文件夹下面自动生成“查询对象”。需要将该文件夹设置成“源文件夹”,以便可以将下面的java文件进行编译使用。

    生成的查询对象,都是在原实体(bo)类的名字前,加上 Q 表示。

    3、dao中继承接口QueryDslPredicateExecutor

     

    4、在service层使用 Querydsl方式进行是查询,例如:

    三、写在最后

    此文仅作为引入Querydsl的笔记,并不代表作者本人推荐使用Querydsl。就实际应用而言,个人更倾向于使用 JPA Criteria 的方式来实现动态查询,其接口是JpaSpecificationExecutor。

     

  • 相关阅读:
    sql分页存储过程疑惑:Row_Number与临时表哪个好?
    SQL之剪切
    在sqlserver2005中安装sql server 2000的示例数据库northwind
    安装SQL2005示例数据库
    Firefox浏览器中,Flex的FileReference上传文件,引发IOError
    Java获取方法的调用者
    ABAP screen常见语法
    XPO永久删除记录方法
    XPO的UpCasting
    在ASP.NET项目中使用XPO的最佳准则
  • 原文地址:https://www.cnblogs.com/rulian/p/7212482.html
Copyright © 2011-2022 走看看