问题如下
String name = "zhangsan";
int pwd = 123;
String sql = "select * from t_user where username = '"+ name +"' and password = "+ pwd +"";
会发现和平常我们拼接字符串不一样
这里比如 name 是用 单引号里面嵌套双引号 括起来的
而 pwd 是跟我平常的习惯一样的
这是为啥呢这俩还有区别呢?
关键就在于SQL语句中
我们 字符串类型 都是用单引号括或双引号括起来的起来的,
int 类型是在SQL中不要加引号,所以不用单引号括起来
但是 在JAVA里如果我们直接用双引号括起来,到mysql里面是下面这样的
select * from t_user
where username = zhangsan and password = 123;
正确的应该是
select * from t_user
where username = 'zhangsan' and password = 123
所以我们在JAVA编写SQL语句时,应该注意
- 字符串类型在JAVA中拼接时要单引号里嵌套双引号
- int类型不用,直接和平常用双引号括起来就行