Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Querydsl mongodb gradle springboot问题_Java_Mongodb_Gradle_Spring Boot_Querydsl - Fatal编程技术网

Java Querydsl mongodb gradle springboot问题

Java Querydsl mongodb gradle springboot问题,java,mongodb,gradle,spring-boot,querydsl,Java,Mongodb,Gradle,Spring Boot,Querydsl,我正试图在我的项目中使用querydsl,就像spring boot文档中描述的那样, 所以我可以这样做 QPerson person = new QPerson("person"); List<Person> result = repository.findAll(person.address.zipCode.eq("C0123")); Page<Person> page = repository.findAll(person.lastname.contains("a

我正试图在我的项目中使用querydsl,就像spring boot文档中描述的那样, 所以我可以这样做

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"));
QPerson person=新的QPerson(“person”);
列表结果=repository.findAll(person.address.zipCode.eq(“C0123”);
Page=repository.findAll(person.lastname.contains(“a”),
新页面请求(0,2,Direction.ASC,“lastname”);
我正在使用gradle构建和mongodb作为数据库

我的问题是,在querydsl文档中,只提供了maven集成。 i、 e


com.querydsl
querydsl公寓
${querydsl.version}
假如
com.querydsl
querydsl mongodb
${querydsl.version}
org.slf4j
slf4j-log4j12
1.6.1
现在,配置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>

...
com.mysema.maven
aptmaven插件
1.1.3
过程
目标/生成的源代码/java
com.querydsl.apt.morphia.MorphiaAnnotationProcessor
...
这可以用gradle集成吗?如果是,请提供解决方案。

查看并:

它们使用:

compile "com.mysema.querydsl:querydsl-apt:3.6.3:jpa"
compile "com.querydsl.apt:querydsl-mongodb:4.0.9"
下面是完整的示例:

看看和:

它们使用:

compile "com.mysema.querydsl:querydsl-apt:3.6.3:jpa"
compile "com.querydsl.apt:querydsl-mongodb:4.0.9"

下面是一个完整的例子,详细说明如下:

对我来说,这篇文章很有帮助

下一步添加到您的gradle文件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.9"
    }
}

apply plugin: 'com.ewerk.gradle.plugins.querydsl'

sourceSets {
    main {
        java {
            srcDir "$buildDir/generated/source/app/main"
        }
    }
}

dependencies {
    compile "com.querydsl:querydsl-mongodb:4.1.4"
    compileOnly "com.querydsl:querydsl-apt:4.1.4"
}

querydsl {
    springDataMongo = true
    querydslSourcesDir = "$buildDir/generated/source/app/main"
}

之后,您应该将
@Document
注释添加到实体类中,然后构建。您将在querydslSourcesDir中指定的文件夹下看到生成的Q文件

这篇文章对我很有帮助

下一步添加到您的gradle文件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.9"
    }
}

apply plugin: 'com.ewerk.gradle.plugins.querydsl'

sourceSets {
    main {
        java {
            srcDir "$buildDir/generated/source/app/main"
        }
    }
}

dependencies {
    compile "com.querydsl:querydsl-mongodb:4.1.4"
    compileOnly "com.querydsl:querydsl-apt:4.1.4"
}

querydsl {
    springDataMongo = true
    querydslSourcesDir = "$buildDir/generated/source/app/main"
}
之后,您应该将
@Document
注释添加到实体类中,然后构建。您将在querydslSourcesDir中指定的文件夹下看到生成的Q文件