1. 程式人生 > 其它 >SQL查詢時,引數個數不定時,自動過濾select語句where

SQL查詢時,引數個數不定時,自動過濾select語句where

技術標籤:JAVAsql

SQL查詢時,引數個數不定時,自動過濾select語句where

 
	//寫一個方法,進去的是引數,出來的是where a = ? and b = ?的形式
    //只針對欄位全部是String型別
	public static String getWhere(Map<String, String> map) {
	
		StringBuffer where = new StringBuffer();
		//如果map不為空
		if(map.size()>0) {
			
			Map<String, String> mw = new
HashMap<String, String>(); //解析Map,如果map中的值不為空則放入新的map中 for(Map.Entry<String, String> entry: map.entrySet()) { if(entry.getValue()!=null&&!entry.getValue().equals("")) { mw.put(entry.getKey(), entry.getValue()); } } //定義一個制位符判斷新增最後一個欄位不新增and的
int i = 0; if(mw.size()>0) { where.append("where "); // 遍歷有引數得map for (Map.Entry<String, String> entry : mw.entrySet()) { where.append(entry.getKey()+"= '"+entry.getValue()+"'"); i++; //如果是最後一個欄位條件則不新增and if(i!= mw.size()) { where.
append(" and "); } } System.out.println("where字串為:"+where); return where.toString(); } return where.toString(); } return where.toString(); }