学习Jdbc时,碰到了字符串拼接的问题,对于单引号和双引号什么时候用不是太明白,特此写篇博客记录一下。
eg:
String sql="select * from users where "+"username='"+username+"' and password='"+password+"'";
首先我们要清楚sql语句接收到最终还是一个字符串,那么下面就简单了。
PS:这种是字符串拼接sql语句的方式,在向数据库中插入数据时,值为字符串时需要用一对‘’(单引号)括起来,整型不用,而这种拼接的方式最主要的目的就是将单引号中的值替换为变量,在sql语句被执行时将解析这些变量再将其替换为需要的数据,这样就比固定值更加灵活。
首先我们要清楚sql语句接收到最终还是一个字符串,那么下面就简单了。
单引号起的作用就是把变量包围起来,方便传参替换。
比如:
String name="张三";
String sql="select * from stu where name='"+name+"'";
//等价于
String sql="select * from stu where name='张三'";
开头的语句最后传入到sql中的是
select * from users where username='张三' and password='123456'