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