我想从Jhipster框架中创建一个Distinct查询,因为它不可能使用Spring存储库。我的主要问题是如何在不创建新的手动连接的情况下连接到DB。我相信一定有办法在我的java类中注入mongoDB连接,但我不知道如何做到这一点。如果有人能帮忙?干杯,
7eumitmz1#
在jhipster中使用此内容进行研究查询.http://docs.spring.io/spring-data/data-commons/docs/1.6.1.RELEASE/reference/html/repositories.html
ohfgkhjo2#
在JHipster应用程序中,您可以访问MongoDB数据库并执行不同的查询,而无需通过利用Spring Data MongoDB存储库支持创建新的手动连接。JHipster使用Sping Boot 和Spring Data来简化数据库访问。以下是如何在JHipster应用程序中为MongoDB创建一个独特的查询:创建一个MongoDB实体:首先,确保您的JHipster应用程序中有一个实体对应于您想要查询的MongoDB集合。您可以使用JHipster实体生成器来创建此实体。定义自定义存储库接口:要执行不同的查询,您可以为MongoDB实体定义一个自定义存储库接口。创建一个扩展MongoRepository的新接口,并添加带有不同查询逻辑的自定义方法。举例来说:
import org.springframework.data.mongodb.repository.MongoRepository; import java.util.List; public interface YourEntityRepository extends MongoRepository<YourEntity, String> { List<String> findDistinctByFieldName(String fieldName); }
将YourEntity替换为MongoDB实体的名称,将fieldName替换为您想要执行不同查询的字段。实现自定义查询:现在,您需要在服务或控制器类中实现自定义查询逻辑。您可以将自定义存储库接口注入到您的服务或控制器中,然后使用它来执行不同的查询。举例来说:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class YourEntityService { private final YourEntityRepository yourEntityRepository; @Autowired public YourEntityService(YourEntityRepository yourEntityRepository) { this.yourEntityRepository = yourEntityRepository; } public List<String> findDistinctFieldValues() { return yourEntityRepository.findDistinctByFieldName("fieldName"); } }
将YourEntityService和fieldName替换为实际的服务类名和字段名。在您的控制器中使用服务:最后,如果需要的话,您可以使用控制器中的服务通过REST端点公开不同的查询结果。
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/api") public class YourEntityController { private final YourEntityService yourEntityService; @Autowired public YourEntityController(YourEntityService yourEntityService) { this.yourEntityService = yourEntityService; } @GetMapping("/distinctFieldValues") public List<String> getDistinctFieldValues() { return yourEntityService.findDistinctFieldValues(); } }
用实际的控制器类名替换YourEntityController,并定义适当的端点Map。通过执行这些步骤,您可以在JHipster应用程序中为MongoDB创建一个不同的查询,而无需手动管理数据库连接。Spring Data MongoDB框架负责处理数据库连接和查询。
2条答案
按热度按时间7eumitmz1#
在jhipster中使用此内容进行研究查询.
http://docs.spring.io/spring-data/data-commons/docs/1.6.1.RELEASE/reference/html/repositories.html
ohfgkhjo2#
在JHipster应用程序中,您可以访问MongoDB数据库并执行不同的查询,而无需通过利用Spring Data MongoDB存储库支持创建新的手动连接。JHipster使用Sping Boot 和Spring Data来简化数据库访问。
以下是如何在JHipster应用程序中为MongoDB创建一个独特的查询:
创建一个MongoDB实体:
首先,确保您的JHipster应用程序中有一个实体对应于您想要查询的MongoDB集合。您可以使用JHipster实体生成器来创建此实体。
定义自定义存储库接口:
要执行不同的查询,您可以为MongoDB实体定义一个自定义存储库接口。创建一个扩展MongoRepository的新接口,并添加带有不同查询逻辑的自定义方法。举例来说:
将YourEntity替换为MongoDB实体的名称,将fieldName替换为您想要执行不同查询的字段。
实现自定义查询:
现在,您需要在服务或控制器类中实现自定义查询逻辑。您可以将自定义存储库接口注入到您的服务或控制器中,然后使用它来执行不同的查询。举例来说:
将YourEntityService和fieldName替换为实际的服务类名和字段名。
在您的控制器中使用服务:
最后,如果需要的话,您可以使用控制器中的服务通过REST端点公开不同的查询结果。
用实际的控制器类名替换YourEntityController,并定义适当的端点Map。
通过执行这些步骤,您可以在JHipster应用程序中为MongoDB创建一个不同的查询,而无需手动管理数据库连接。Spring Data MongoDB框架负责处理数据库连接和查询。