为什么不把参数直接写到sql中呢
为什么不把参数直接写到sql呢,每次执行的时候参数不都是能确定下来的么,也就是说条件要拼接那一部分是能确定的啊??
为什么不把参数直接写到sql呢,每次执行的时候参数不都是能确定下来的么,也就是说条件要拼接那一部分是能确定的啊??
2017-11-08
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语句的拼接都得小心谨慎。
举报