第一章:Maven环境下如何配置QueryDSL环境

QueryDSL是一个通用的查询框架,框架的核心原则是创建安全类型的查询,开始QueryDSL仅支持Hibernate(HQL),在不断开源人士加入QueryDSL团队后,陆续发布了针对JPA,JDO,JDBC,Lucene,Hibernate Search,MangoDB,Collections 和RDF(Relational Data Format) Bean等。

本章目标

我们本系列的章节主要使用QueryDSL与SpringDataJPA在SpringBoot开发环境下进行整合使用,目前SpringDataJPA与QueryDSL整合可以说完美的结合,一个完美的结合你没有理由拒绝使用他们来完成企业级项目的开发。下面我们先使用idea开发工具构建一个maven项目,并将QueryDSL所需要的依赖以及插件配置进行讲解。

构建项目

我们使用idea创建一个SpringBoot项目,并添加Web、JPA、MySQL等依赖,pom配置文件如下代码块所示:



    4.0.0

    com.yuqiyu.querydsl.sample
    chapter1
    0.0.1-SNAPSHOT
    war

    chapter1
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.4.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            mysql
            mysql-connector-java
            runtime
        
        
            org.springframework.boot
            spring-boot-starter-tomcat
             
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

可以看到上面的代码我们项目基础已经搭建完成,下面我们引入QueryDSL的相关maven依赖,添加依赖如下代码块所示:


  
    com.querydsl
    querydsl-jpa
    ${querydsl.version}
  
  
    com.querydsl
    querydsl-apt
    ${querydsl.version}
    provided
  

这里我们仅引入QueryDSL的JPA与APT相关的依赖就可以使用了。由于QueryDSL框架需要使用插件为我们配置了@Entity注解的实体自动对应创建QBean来作为查询时的条件以及自动生成QPath,下面我们需要修改pom.xml配置文件添加QueryDSL插件,如下代码块所示:


    
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
            
                com.mysema.maven
                apt-maven-plugin
                1.1.3
                
                    
                        
                            process
                        
                        
                            target/generated-sources/java
                            com.querydsl.apt.jpa.JPAAnnotationProcessor
                        
                    
                
            
    

插件列表内的第一个插件是SpringBoot为我们自动自动添加的,是SpringBoot相关maven的依赖插件。而下面的插件就是我们添加的相关QueryDSL的插件,该插件会自动扫描项目内配置了@Entity的实体类,并根据实体的内定义的字段以及关联类通过JPAAnnotationProcessor自动创建Q[实体类名称]的查询实体,创建完成后会将实体存放到我们配置outputDirectory属性目录下。

总结

至此我们本章的内容已经讲解完毕了,本章主要内容是我们在SpringBoot架构下如何配置QueryDSL的Maven环境,本系列项目是相当于SpringBoot系列文章的延伸,后期的文章讲解也是全部建立在SpringBoot框架上。
本章代码已经上传到码云:
SpringBoot配套源码地址:https://gitee.com/hengboy/spring-boot-chapter
SpringCloud配套源码地址:https://gitee.com/hengboy/spring-cloud-chapter

作者个人 博客
使用开源框架 ApiBoot 助你成为Api接口服务架构师

你可能感兴趣的:(第一章:Maven环境下如何配置QueryDSL环境)