springboot2.5整合queryDSL5.0最新
主要配置
-
idea下載JPA Buddy插件
-
依賴引入
<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>
-
代碼配置
@Configuration public class JPAQueryFactoryConfiguration { @PersistenceContext private EntityManager entityManager; @Bean public JPAQueryFactory jpaQueryFactory() { return new JPAQueryFactory(entityManager); } }
-
SQL工具類
@Component public class Dsl { public static JPAQueryFactory factory; @Resource private JPAQueryFactory jpaQueryFactory; @PostConstruct private void init() { factory = jpaQueryFactory; } }
-
sql調用樣例
@Service public class UserInfoServiceImpl implements UserInfoService { QUserInfo qUserInfo = QUserInfo.userInfo; @Override public List<UserInfo> getUserList() { return Dsl.factory .select(qUserInfo) .from(qUserInfo) .fetch(); } }
-
代碼啟動前先點擊maven compile在target -> generated-sources -> java下會生成實體類的Q類