首先$和#的区别:
- 都是往sql语句里面进行动态传值,但是$是单纯的字符串替换,而#是进行JDBC的预编译语句会在sql语句之中生成一个占位符。具体在sql中的效果就是:例如传入1 $ 就是单纯的 1 但是#实际生成的就是‘1’
- 感觉$和#就很像JDBC中的Statement和preStatement一样 #可以有效的作用于防止sql注入
多数情况下我们都是选择使用#而非$但是在一定的情况下只能使用$(需要插入需要查询的字段名而不是值的时候 如果字段名称使用#包裹的话是不会被识别,只有值被#包裹的时候才能被识别)具体应该是值被引号包裹的才能识别 。`