这是防止SQL注入,也是参数。
举个例子吧
String sql1="select name,password from user where id="+dto.getId();
String sql2="select name,password from user where id=:id";
sql1中如果传入的id,被人截获,把id原本的id=123 改成修改成 id =123 or 1=1;这样sql1 和sql2的效果就完全不一样了
sql1 会把字符串直接拼接字后面,而sql2 会把传入的id 仅仅当一个字符串参数传入
最终结果是sql :select name,password from user where id=123 or 1=1
sql2:"select name,password from user where id=‘123 or 1=1’;
这样是不是完全两个不同的sql
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。