亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師提出的兩個問題怎么才能做到呢?

有沒有大神知道

正在回答

5 回答

/*
*換成or的話把1=1換成?1=0?任意一種結果為false的等式
*查birthday的map這么填就行,日期注意加分號
*/
List<Map<String,Object>>?params?=?new?ArrayList<Map<String,Object>>();
	Map<String,Object>?para?=?new?HashMap<String,Object>();
	para.put("name",?"birthday");
	para.put("rela",?">");
	para.put("value","'1991-3-24'");
	params.add(para);
????List<Users>?us?=?d.query(params);


0 回復 有任何疑惑可以回復我~
#1

王之我姓 提問者

非常感謝!
2016-12-22 回復 有任何疑惑可以回復我~
#2

王之我姓 提問者

最后那里的search應該怎么寫。我按step來。每次都是新的就是這個每次都執行。沒辦法保存 Map<String,Object> para = new HashMap<String,Object>();最后sql語句只能出來select * from STUDENTS where 1=1 and null null 5 。
2016-12-22 回復 有任何疑惑可以回復我~
#3

wanttoplay 回復 王之我姓 提問者

沒看懂什么意思,上代碼
2016-12-23 回復 有任何疑惑可以回復我~
#4

王之我姓 提問者 回復 wanttoplay

lse if (OPERATION_SEARCH.equals(in.toUpperCase())// 按條件查詢學生信息 || OPERATION_SEARCH.substring(0, 1) .equals(in.toUpperCase()) || OPERATION_SEARCH.equals(prenious)) { prenious = OPERATION_SEARCH; List<Map<String, Object>> params = new ArrayList<Map<String, Object>>();
2016-12-23 回復 有任何疑惑可以回復我~
#5

王之我姓 提問者

Map<String, Object> st = new HashMap<String, Object>(); if (1 == step) { System.out.println("請輸入你想輸入的條件S_ID,S_NAME,S_AGE"); } else if (2 == step) { st.put("name", in); System.out.println("請輸入你想要的rela 例如 = 和 like"); } else if (3 == step) { st.put("rela", in);
2016-12-23 回復 有任何疑惑可以回復我~
#6

王之我姓 提問者 回復 wanttoplay

System.out.println("請輸入輸入的條件信息"); } else if (4 == step) { st.put("value", in) params.add(st); try { List<Students> result = action.query(params); for (int i = 0; i < result.size(); i++) { System.out.println(result.get(i).getS_ID() + "號" + result.get(i).getS_NAME()); }
2016-12-23 回復 有任何疑惑可以回復我~
#7

王之我姓 提問者 回復 wanttoplay

} catch (Exception e) { e.printStackTrace(); System.out.println("不存在該學生"); ?} } if (OPERATION_SEARCH.equals(prenious)) { step++; } 每一次進來都會new一下 st導致并不能存儲。但是不new一下。就報錯。放在if里面也報錯
2016-12-23 回復 有任何疑惑可以回復我~
查看4條回復

就是問 query(List<Map<String, Object>> params)

這個方法里的SELECT語句能不能把 AND 改成 OR?

那是不是可以把? " AND " 和 " OR " 像"name" 、"rela" 、"value" 一樣一起放在Map中,來選擇是 AND 還是 OR,通過map.get("...") 獲取AND 或者 OR

這樣不用另外寫一個方法?

0 回復 有任何疑惑可以回復我~
#1

王之我姓 提問者

你說的是成立的。沒有問題。但是什么叫做不用寫另一個方法。另一個方法是什么我忘了。不過再次說明。你的想法是可以的。具體實現。你可以試試。不會再問我。
2018-03-13 回復 有任何疑惑可以回復我~

我在想能不能把AND OR也當參數放在Map里?

0 回復 有任何疑惑可以回復我~
#1

王之我姓 提問者

我已經忘記。他問的問題是什么了。你能描述一下嗎?我可以給你回答
2018-03-13 回復 有任何疑惑可以回復我~

不需要更改1=1

sql.append("SELECT?*?from?imooc_goddess?where?1=1");
if(params!=null&&params.size()>0){
????sql.append("?and?(");
????for(int?i=0;i<params.size();i++){
????????Map<String,Object>?map=params.get(i);
????????if(i<(params.size()-1))sql.append("?"+map.get("name")+"?"+map.get("rela")+"?"+
????????????????map.get("value")+"?or?");
????????if(i==(params.size()-1))sql.append("?"+map.get("name")+"?"+map.get("rela")+"?"+
????????????????map.get("value")+")");
????}
}


0 回復 有任何疑惑可以回復我~

用or做為條件查詢,將sql 的條件改為 1=2 即可

sb.append("select?*?from?imooc_goddess??where?1=2?");

if(params?!=?null?&&?params.size()?>?0)
{
for(int?i?=?0;i?<?params.size();i++){
Map<String,Object>?map??=?params.get(i);
sb.append("?or?"+map.get("name")+"?"?+?map.get("rela")+"?"?+map.get("value"));
}
}


2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

老師提出的兩個問題怎么才能做到呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號