编程的软件:eclipse 2022版本
问题如下图:
我对这个问题的理解是:我的代码查询不到数据库。
知道了问题的所在就容易解决啦。
第一:看是否将mysql-connector-java-8.0.30.jar(我使用的是这个版本)放到WEB-INF目录下(如图):
第二,这个如果没有问题的话,我们就看MySQL服务是否开启。
因为可能MySQL服务是处于关闭状态,代码访问不到数据库。
win10检查的操作:win键+S——>搜索并进入“计算机管理”——>双击“服务和应用程序”——>双击“服务”——>找到“MySQL80”,检查其是否处于关闭状态——>若处于“关闭”状态——>双击更改为“开启”
解释一下:win键,如下图(使用了百度的图片):
第三,如果上面都没有问题,那么进行代码的检查。
1.我的数据库名为SMDB
String dbURL = "jdbc:mysql://127.0.0.1:3306/SMDB?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC";
在这个代码中数据库名是否正确,之前我就因为把“info”写成了“into”,导致我检查了好久才检查出来;
2.数据库是否有密码,如果有密码,检查是否输入了密码
DriverManager.getConnection(dbURL, userName, userPwd);
这条语句中,dbURL:传递的是数据库的地址,userName:传递的是用户名,userPwd:传递的是密码;
3.我的表名为student
rs = stmt.executeQuery("SELECT * FROM student"); //建立ResultSet(结果集)对象,并执行SQL语句
在这条语句中,表名是否正确以及是否存在“select、from”单词的拼错,还真别说,我就有这样的情况,我之前本来是想修改表名的。但是把“from”这个单词删除了,然后还是同学帮我发现的问题;
4.获取表格的内容名称是否与列名一致,下图1与图2的“Sno”一致才能访问得到,不然名字都不对怎么获取表格中所对应的内容。


以上是我所了解到的一些错误,应该是还有其他的错误我没有发现的,如果以上的还是不能解决遇到的问题的话,建议往数据库为什么访问不到这个方向思考。第一次写文章,若有我说得不正确的地方或者觉得我的表达有歧义,请帮我指出来,谢谢!