目录
1.问题分析
有人发现自己连接数据库以及SQL语句编写正确,JDBC的驱动jar包也正常导入了。但是还是出现下面报错
出现上述报错,是你的数据库版本和导入的驱动jar包不一致导致的。
2.解决方式
就用我的Mysql数据库举例
1.查看自己的Mysql版本
步骤:win+R后输入cmd打开命令提示符,输入mysql -V
2.根据Mysql版本下载对应的驱动jar包
1.打开Mysql官网
官网:MySQLhttps://www.mysql.com/
2. 寻找对应版本的驱动jar包
正常导入就可以成功了,但是可能会出现以下情况
3.其他问题
文字:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
翻译:正在加载类com.mysql.jdbc驱动程序,这是不推荐的。新的驱动程序类是com.mysql.cj.jdbc驱动程序。驱动程序通过SPI自动注册,通常不需要手动加载驱动程序类。
其实没有什么很大问题,程序依然可以运行。解决也简单,根据提示更新一下驱动
Class.forName("com.mysql.cj.jdbc.Driver");
4.测试代码
package JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class JDBCDemo {
public static void main(String[] args) throws Exception {
//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接 其中db01是自己的数据库,可能不一样。
String url = "jdbc:mysql://127.0.0.1:3306/db01";
//Mysql数据库用户名,可能不一样
String username = "root";
//Mysql数据库密码,可能不一样
String password = "123456";
Connection conn = DriverManager.getConnection(url,username,password);
//3.定义sql
String sql = "update user set password = 666666 where id = 1";
//4.获取执行sql的对象Statement
Statement stmt = conn.createStatement();
//5.执行sql
int count = stmt.executeUpdate(sql);
//6.处理结果
System.out.println(count);
//7.释放资源
stmt.close();
conn.close();
}
}