package Mysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.awt.*;
import java.util.Scanner;
class DataBase {
public final static String url="jdbc:mysql://localhost:3306/datauser?serverTimezone=GMT";
public final static String username="root";
public final static String password="password";
public static void main(String[] args) {
System.out.print("请输入id:");
Scanner scanner=new Scanner(System.in);
String id= String.valueOf(scanner.nextInt());
try {
Class .forName("com.mysql.cj.jdbc.Driver");
}catch (Exception e) {
e.printStackTrace();
}
try {
Connection connection=DriverManager.getConnection(url,username,password);
Statement stmt =connection.createStatement();
String sql="SELECT * FROM user\r\n" +
"WHERE id='"+id+"';";
ResultSet rs =stmt.executeQuery(sql);
while(rs!=null && rs.next()){
String mm=rs.getString(1);
System.out.println("ID为"+id+"的账号的密码是:"+mm);
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
输入id后没有输出查询结果
但是如果去掉输入部分,直接在sql命令里添上id=001会返回结果
String sql="SELECT * FROM user\r\n" +
"WHERE id='"+id+"';";
改为
String sql="SELECT * FROM user WHERE id='"+id+"'";
在请输入id下方输入id,然后打印一下sql, 不要给sql加转义符了,直接把sql改为"select * from user where id='"+id+"' "
就是这个样子,之前我好像也是这样写的,但是原来的项目删了,重写就一直没结果