我试图在我的项目中使用querydsl,就像在 Spring 季启动文档中描述的那样,springboot-mongodb-look at 5.3.4以便我可以这样做,
QPerson person = new QPerson("person");
List<Person> result = repository.findAll(person.address.zipCode.eq("C0123"));
Page<Person> page = repository.findAll(person.lastname.contains("a"),
new PageRequest(0, 2, Direction.ASC, "lastname"));
我正在使用gradle build和mongodb作为数据库 .
我的问题是,在querydsl文档中,只提供了maven集成 . querydsl document link即
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-mongodb</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
现在,配置Maven APT插件,该插件生成Querydsl使用的查询类型:
<project>
<build>
<plugins>
...
<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.morphia.MorphiaAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
</project>
可以使用gradle集成吗?如果是,请提供解决方案 .
2 回答
看看querydsl-with-gradle-and-idea和Configuring QueryDSL for Spring Data and MongoDB with Gradle:
他们使用:
和github corneil's spring-data-demo的完整示例,详情请点这里:QueryDSL for Mongo with Spring and gradle
对我来说帮助了这篇文章add Querydslsupport
接下来添加到您的gradle文件:
之后,您应该将
@Document
注释添加到您的实体类中并进行构建 . 您将在querydslSourcesDir中指定的文件夹下看到生成的Q文件 .