注册驱动的两种方式,以及经常出现的问题

这是第一种方式

	try {
			//注册驱动、
			Driver driver =new com.mysql.cj.jdbc.Driver();
			DriverManager.registerDriver(driver);
			//连接数据库
			String url ="jdbc:mysql://localhost:3306/aaa?serverTimezone=UTC";
			String user ="root";
			String password ="123321";
			Connection cnn =DriverManager.getConnection(url,user,password);
			System.out.print(cnn);
		} catch (Exception e) {
			e.printStackTrace();
		}

这是第二种方式

	Connection cnn;
				try {
					Class.forName("com.mysql.cj.jdbc.Driver");
				} catch (ClassNotFoundException e1) {
					e1.printStackTrace();
				}
		try {
			cnn = DriverManager.getConnection("jdbc:mysql://localhost:3306/aaa?serverTimezone =UTC"+"root"+"123321");
			//获取数据库操作对象
			Statement sta =cnn.createStatement();
			//执行操作语言
			String sql ="select *from student";
			ResultSet rs =sta.executeQuery(sql);
			while(rs.next()) {
				System.out.println(rs.getRow());
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

== Driver driver =new com.mysql.cj.jdbc.Driver();==
在新版的jdk中新的驱动是这样的,但是在旧版的JDK中是
== Driver driver =new com.mysql.jdbc.Driver();==
所以经常会报以下的错误,就是表明你的JDK版本和你的MySQL两个版本不匹配
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
在运行第二种的注册驱动时要注意加try catch

try {
					Class.forName("com.mysql.cj.jdbc.Driver");
				} catch (ClassNotFoundException e1) {
					e1.printStackTrace();
				}
要不然会报
java.lang.ClassNotFoundException: com.mysql.jdbc.cj.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at Dml.main(Dml.java:12)
的错误
发布了8 篇原创文章 · 获赞 0 · 访问量 22

猜你喜欢

转载自blog.csdn.net/richpersion/article/details/105124666