为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不把参数直接写到sql中呢

为什么不把参数直接写到sql呢,每次执行的时候参数不都是能确定下来的么,也就是说条件要拼接那一部分是能确定的啊??

正在回答

3 回答

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语句的拼接都得小心谨慎。

0 回复 有任何疑惑可以回复我~
  1. 首先展示列表的时候不需要参数

  2. 添加动态参数也是为了一个方法可以实现全部列表和查询列表

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

动态传参

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

举报

0/150
提交
取消

为什么不把参数直接写到sql中呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信