where 1=1的理解

--只是爲了滿足多條件查詢頁面中不確定的各種因素,
而採用的一種構造一條正確能運行的動態SQL語句的一種方法。
例如 
String sql ="select * from tb_user where"
if(username !=null && !username.equals("")){
    sql += "username =username";
}
if(userNum !=null && !userNum.equals("")){
    sql += "userNum =userNum";
}
--當 username 和userNum都爲空時,運行報錯

String sql ="select * from tb_user where 1=1 "
if(username !=null && !username.equals("")){
    sql += "username =username";
}
if(userNum !=null && !userNum.equals("")){
    sql += "userNum =userNum";
}
--因爲 1=1 始終爲True,無論username和userNum是否有值,運行都不會報錯,

--有參則帶參數查詢,無參則查詢整個表


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章