**完善:
/** @author: 張齊
* @說明: 根據前台用輸入的查詢條件,得到乙個原生查詢語句
* @param searchcondition 引數陣列
* @return sqlquery 返回的原生sql語句
*/public sqlquery getsqlquery(string searchcondition)
if(searchcondition[1]!=null&&!searchcondition[1].trim().equals(""))else
searchparamlist.add("%"+searchcondition[1]+"%");
}if(searchcondition[2]!=null&&!searchcondition[2].trim().equals(""))else
searchparamlist.add(searchcondition[2]);
}if(searchcondition[3]!=null&&!searchcondition[3].trim().equals(""))else
searchparamlist.add("%"+searchcondition[3]+"%");
} //當開始和結束時間都不為空時
if(searchcondition[4]!=null&&!searchcondition[4].trim().equals("")&&searchcondition[5]!=null&&!searchcondition[5].trim().equals(""))else
******dateformat sdf = new ******dateformat("yyyy-mm-dd");
try catch (parseexception e)
}//當開始時間不空,結束時間為空時,則預設結束時間為當前時間
/*if(searchcondition[4]!=null&&!searchcondition[4].trim().equals("")&&searchcondition[5]==null&&searchcondition[5].trim().equals(""))else
******dateformat sdf = new ******dateformat("yyyy-mm-dd");
try catch (parseexception e)
}*/if(searchcondition[6]!=null&&!searchcondition[6].trim().equals(""))else
searchparamlist.add("%"+searchcondition[6]+"%");
}if(searchcondition[7]!=null&&!searchcondition[7].trim().equals(""))else
searchparamlist.add("%"+searchcondition[7]+"%");
} session session = getsessionfactory().getcurrentsession();
sqlquery sqlquery = session.createsqlquery(sbuf.tostring());
for(int i=0;isqlquery.setparameter(i, searchparamlist.get(i));
return sqlquery;
}1.防止依賴注入
2.當切換資料庫時可以不用改寫後台**。這種寫法是通用寫法,不會因為隨著資料庫的改變而去更換**。
多條件儲存過程 (條件拼接SQL語句)
alter proc sp pagedbyconditions countrycode nvarchar 20 國家編號 cid int,城市的id pageindex int 1,當前要顯示的頁碼 pagesize int 3,每頁要顯示的資料條數 頁大小 totalpages intout 總頁...
SQL語句多條件查詢
sql多條件查詢中如果有and和or,and的優先順序高於or,如果不加括號會先執行and,然後再執行or 資料表 一 查詢時先且查詢,則先and條件查詢,查詢結果與or後面的條件進行或查詢 sql語句 select from ceshi where name a and age 10 or 1查詢...
多條件檢索SQL語句的拼接
需求分析 在使用多條件查詢的時候,比如這樣的乙個圖書查詢頁面 如果使用sql語句 select from book where bookname name and author author and address address 但是,在不知道哪一欄會被輸入進去,where和and 的使用,有點不...