我在我的網站的SQL查詢中使用eclipselink語法時遇到困難。目前,我已經使用適當的按鈕創建了搜索文本框條目。數據記錄可以通過標題和描述進行搜索,但搜索內容必須與我的數據庫數據中的標題/描述完全匹配。我的主要問題是使用帶有參數「searchString」的LIKE子句和通配符功能(%)創建正確的SQL查詢。實現搜索功能 - 以字符串作爲參數和通配符的eclipselink SQL%
下面,我已經包含了我的來自實體類的查詢的示例。
@NamedQuery(name = "Ad.findByString", query = "SELECT a FROM Ad a WHERE a.title LIKE :searchString OR a.description LIKE :searchString")
我明白「:」標記表示正在使用一個參數。有沒有人對如何實現通配符%功能有任何建議,以便搜索返回包含搜索內容的廣告?
下面我也包括我getSearchedAds方法從數據庫類
public static Collection <Ad> getSearchedAds (String searchString) {
EntityManager em = DBUtils.getEmFactory().createEntityManager();
Collection<Ad> results = null;
TypedQuery<Ad> q = em.createNamedQuery("Ad.findByString", Ad.class);
q.setParameter("searchString", searchString);
try {
results = q.getResultList();
} catch (Exception e) {
results = null;
}
謝謝您的時間。
'Mysql'或'sql-server',你使用了哪個數據庫? – Blank
@Reno我使用MySQL工作臺創建我的數據庫 –