springboot整合queryDSL最新


springboot2.5整合queryDSL5.0最新

主要配置

  1. idea下載JPA Buddy插件

  2. 依賴引入

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-jpa</artifactId>
                <version>5.0.0</version>
            </dependency>
    
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-apt</artifactId>
                <version>5.0.0</version>
            </dependency>
    
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-core</artifactId>
                <version>5.0.0</version>
            </dependency>
    
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>com.mysema.maven</groupId>
                    <artifactId>apt-maven-plugin</artifactId>
                    <version>1.1.3</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>target/generated-sources/java</outputDirectory>
                                <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    
  3. 代碼配置

    @Configuration
    public class JPAQueryFactoryConfiguration {
    
        @PersistenceContext
        private EntityManager entityManager;
    
        @Bean
        public JPAQueryFactory jpaQueryFactory() {
            return new JPAQueryFactory(entityManager);
        }
    }
    
  4. SQL工具類

    @Component
    public class Dsl {
    
        public static JPAQueryFactory factory;
        @Resource
        private JPAQueryFactory jpaQueryFactory;
    
        @PostConstruct
        private void init() {
            factory = jpaQueryFactory;
        }
    
    }
    
  5. sql調用樣例

    @Service
    public class UserInfoServiceImpl implements UserInfoService {
    
    
        QUserInfo qUserInfo = QUserInfo.userInfo;
    
        @Override
        public List<UserInfo> getUserList() {
    
            return Dsl.factory
                    .select(qUserInfo)
                    .from(qUserInfo)
                    .fetch();
        }
    }
    
  6. 代碼啟動前先點擊maven compile在target -> generated-sources -> java下會生成實體類的Q類


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM