因为正常的sql完整语句应该是:
select * from user where username = 'username'
username上的双引号和单引号的意义不同,单引号是sql语句需要的,指定where username=的值,双引号是java需要的,两个字符串相加要用到,其实java将username上的单引号作为字符串来处理了,单引号对于java编译没有实际意义,在数据库查询的时候单引号才具有实际的语法意义
这个绝对不对。
username是程序中的一个变量吧,表达式应该是这样的:
String sql="select * from user where username=\'"+username+"\'";
"select * from user where username = "+"'username'";
因为username在sql中是char型
"insert into char values(" + "'username')";跟这个意思差不多
兄弟们,你们还是新手哈!
JDK建议使用参数替补。
String username="pujia";
String password="12345";
int age=22;
PreparedStatement pstmt = con.prepareStatement("SELECT id,name,address FROM user WHERE username=? AND password=? AND age>?");
pstmt.setString(1,username);
pstmt.setString(2, password);
pstmt.setInt(3, age);
.....
框架里也一样
="select * from user where username = '"+username+"'" 这样才对
这东西要慢慢来