簡單的多條件查詢,用戶可以隨意的選擇條件進行查詢。下面開始代碼(小弟不才,對代碼有改進的意見,請給小弟指出來,在此先謝謝哈。)
Java代碼
String checkString = "from Emploree where ";
1. 我們先定義一個字符串,為構建查詢語句做個基礎。用的是HQL語言,要是其他數據庫語言,就改改關鍵字。
Java代碼
if (!emplo.getEmploName().equals("")) {
m = 1;
checkString = checkString.concat("emploName='"
+ emplo.getEmploName() + "'");
}
2. if條件裡的是判斷從前臺傳過來的數據是否為空。 空的話就意味著用戶沒有選擇,非空的話表示用戶在這個搜索框裡輸入瞭搜索語句。然後改變checkString,這裡需要註意的是,如果你要查詢的是String類型,請加上單引號,否則HQL語言會報錯,int類型的就不必加瞭,直接寫就行瞭。
Java代碼
if (emplo.getEmploAge() != null) {
if (m != 0) {
checkString = checkString.concat(" and ");
}
m = 1;
checkString = checkString.concat("emploAge=" + emplo.getEmploAge());
}
3. 重點在第三塊代碼,我們都知道多條件查詢的時候每個查詢語句都得用and鏈接,然而問題出來瞭什麼時候該加and什麼時候不該加and,,第一個查詢語句的前面就不需要加and,而第2+以後得條件都得加and連接。所以我定義瞭一個m變量(初始值為0)。用來判斷上一個文本框用戶到底有沒有輸入信息。如果m的值為1後,就說明在這個if條件的上面的if條件裡已經添加過瞭查詢語句,而我們這個if條件就必須加and。如果m為0的話就說明這個if條件上面的所有if語句都沒有進入,所以這個語句就不需要加入and語句。這裡隻是簡單舉例,兩個條件的查詢,你可以復制第三塊if代碼,構建n個多條件查詢。
作者“afro”