我的代碼中有一個物體串列(google.com、amazon.com 等),我想讓我的存盤庫在我輸入一個帶有子域的字串時找到一個物體。
所以基本上,我要實作什么存盤庫功能,這樣我就可以運行類似的東西
public List<ValidDomainsEntity> findByCompanyDomainLike("www.google.com");
并讓它回傳帶有 google.com 的物體
String companyDomain;
companyDomain =“google.com”
所以用更通俗的話來說:我的資料庫包含沒有子域或前綴的 URL。當我輸入帶有子域的 URL 時,我在 Spring 的存盤庫中使用什么查詢來查找該 URL
編輯:基本上我如何做相當于
select * from valid_domains where 'www.amazon.com' LIKE CONCAT('%', companyDomain);
uj5u.com熱心網友回復:
您可以通過多種方式撰寫它。第一個選項是撰寫本機查詢。
@Query(value = "select * from valid_domains where 'www.amazon.com' LIKE CONCAT('%', :companyDomain", nativeQuery = true);
public List<ValidDomainsEntity> myQuery(@Param("companyDomain") String companyDomain);
第二種選擇是撰寫一個簡單的非本地查詢并使用您的 Entiry 類名稱和欄位。為此,您可以使用javax.persistence.EntityManager或@Query(value = "", nativeQuery = false)。默認情況下,@Query 是非本地查詢,您不必撰寫nativeQuery = true. 我還展示了一個 EntityManager 示例。
@Autowired //Constructor dependency injection is more preferred instead of @Autowired
private EntityManager entityManager;
List<ValidDomain> query = entityManager.createQuery("SELECT new ValidDomain(d.id, d.domainName) from ValidDomain d where 'www.amazon.com' LIKE CONCAT('%', :variableName)", ValidDomain.class).getResultList();
或者您也可以使用EntityManager,entityManager.createNativeQuery()來創建本機查詢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/439109.html
上一篇:在Python中將串列修改為字典
