課程
/后端開發
/Java
/通過自動回復機器人學Mybatis---基礎版
為什么不把參數直接寫到sql呢,每次執行的時候參數不都是能確定下來的么,也就是說條件要拼接那一部分是能確定的啊??
2017-11-08
源自:通過自動回復機器人學Mybatis---基礎版 2-6
正在回答
StringBuilder?prepareSql?=?new?StringBuilder("SELECT?ID,COMMAND,DESCRIPTION,CONTENT?FROM?message?WHERE?1=1");?//不要使用SELECT?*,數據庫引擎還要去解析列名,效率會低 if(command?!=?null?&&?!"".equals(command.trim())){//如果傳入的參數存在并且不為空字符串 ????prepareSql.append("?AND?COMMAND='"+command+"'"); } if(description?!=?null?&&?!"".equals(description.trim())){ ????prepareSql.append("?AND?DESCRIPTION?LIKE?'%"+description+"%'"); }
可以使用,我就是這樣用的,是沒問題的。
目前還沒看出來這兩種方式孰優孰劣,只不過只要涉及到SQL語句的拼接都得小心謹慎。
首先展示列表的時候不需要參數
添加動態參數也是為了一個方法可以實現全部列表和查詢列表
動態傳參
舉報
微信公眾號自動回復功能學習Mybatis,基礎教程加案例實戰方式學習
2 回答這么拼接sql為什么不行
2 回答sql配置文件問題 在sql語句中傳入String 類型的參數就查不到數據
1 回答把參數值寫到.properties里然后xml里調用出錯
1 回答為什么不把command和description的判斷也放在service中呢
1 回答為什么一直說我sql語句有問題?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-12-25
可以使用,我就是這樣用的,是沒問題的。
目前還沒看出來這兩種方式孰優孰劣,只不過只要涉及到SQL語句的拼接都得小心謹慎。
2017-11-17
首先展示列表的時候不需要參數
添加動態參數也是為了一個方法可以實現全部列表和查詢列表
2017-11-09
動態傳參