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

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

關于sql語句的問題

if (command!=null&&!"".equals(command.trim())) {

sql.append(" and command=?");

paramList.add(command);

}

if (description!=null&&!"".equals(description.trim())) {

sql.append(" and description=like '%' ? '%'");

paramList.add(description);

}


這里面and前面為什么要空格,問號和百分號是干什么的,能詳細點么


正在回答

1 回答

1、這個是sql拼接, 如果if語句中條件滿足了,就會和之前的sql拼接,舉個例子:select * from user where id=1,如果條件滿足不加空格的話就會變成“select * from user where id=1and command=?”,很明顯and和1連在一起了,是錯誤的

2、?是指帶你要輸入的數據,這個是數據庫PreparedStatement預處理的操作,%?%舉個例子:比如模糊查詢想查userName, 那這個?代表你前臺傳過來的userName, 數據庫里有123,1124,3323,你輸入2,這三個值都能查出來,代表前面有任意字符,后面任意字符。

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

舊情歌_

你解釋的確實是夠清楚 for(int i = 0;i<10000;i++){ 強 };
2019-02-14 回復 有任何疑惑可以回復我~
#2

舊情歌_

and前面也可以沒有空格,在上面拼接的sql語句后面加上空格也可以。
2019-02-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
通過自動回復機器人學Mybatis---基礎版
  • 參與學習       107414    人
  • 解答問題       831    個

微信公眾號自動回復功能學習Mybatis,基礎教程加案例實戰方式學習

進入課程

關于sql語句的問題

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

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

幫助反饋 APP下載

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

公眾號

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