时间: 2020-09-18|66次围观|0 条评论

首先注明一点:这里我用的 mysql-connector-java 包是 8.0.13 版本的。

1、下载mysql-connector-java包

jdk目前是没有内置这个包的,所以需要先下载,附上一个下载地址:http://www.codingutil.com/searchJar.html

2、将下载好的包添加进项目

这里我用的是eclipse,其他编译器导入方法自行谷百。
Java使用mysql-connector-java-8.0.13连接数据库的一些问题插图

然后点击:Add External JARS

Java使用mysql-connector-java-8.0.13连接数据库的一些问题插图1

添加完之后如下图:

Java使用mysql-connector-java-8.0.13连接数据库的一些问题插图2

然后项目文件夹下就会多出:

Java使用mysql-connector-java-8.0.13连接数据库的一些问题插图3

3、具体代码中的问题

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class StudentTest { 

	public static void main(String[] args) { 
		String driveName = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://127.0.0.1:3306/student";
		String user = "root";
		String pass = "123456";
		
		try { 
			Class.forName(driveName);
			
			// 连接方法一
			Connection con = DriverManager.getConnection(url, user, pass);
			
			// 连接方法二
			//String URL = "jdbc:mysql://127.0.0.1:3306/student?user=root&password=123456&serverTimezone=GMT%2B8";
			//Connection con = DriverManager.getConnection(URL);
			
			Statement state = con.createStatement();
			String querySql = "select * from student1";
			ResultSet result = state.executeQuery(querySql);

			while(result.next()) { 
				System.out.println("学号:" + result.getInt("Id"));
				System.out.println("姓名:" + result.getString("name"));
				System.out.println("年龄:" + result.getInt("age"));
				System.out.println();
			}
			
			con.close();
		} catch (ClassNotFoundException e) { 
			e.printStackTrace();
		} catch (SQLException e) { 
			e.printStackTrace();
		}
	}
}

首先这种写法会报错 :

Java使用mysql-connector-java-8.0.13连接数据库的一些问题插图4

意思就是:com.mysql.jdbc.Driver 这种写法已经弃用了,最新的写法是:com.mysql.cj.jdbc.Driver

然后这个报错就解决了。再运行,又会报错 :
Java使用mysql-connector-java-8.0.13连接数据库的一些问题插图5

这个mysql官网也提到了,是因为 mysql 返回的时区有问题,所以这里需要显示指定时区:在url上加参数serverTimezone=GMT(如果想返回北京时间,则:serverTimezone=GMT%2B8

最后更完整代码如下 (更改的地方我用 * 做了标记) :

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class StudentTest { 

	public static void main(String[] args) { 
*		String driveName = "com.mysql.cj.jdbc.Driver";
*		String url = "jdbc:mysql://127.0.0.1:3306/student?serverTimezone=GMT%2B8";
		String user = "root";
		String pass = "123456";
		
		try { 
			Class.forName(driveName);
			
			// 连接方法一
			Connection con = DriverManager.getConnection(url, user, pass);
			
			// 连接方法二
			//String URL = "jdbc:mysql://127.0.0.1:3306/student?user=root&password=123456&serverTimezone=GMT%2B8";
			//Connection con = DriverManager.getConnection(URL);
			
			Statement state = con.createStatement();
			String querySql = "select * from student1";
			ResultSet result = state.executeQuery(querySql);

			while(result.next()) { 
				System.out.println("学号:" + result.getInt("Id"));
				System.out.println("姓名:" + result.getString("name"));
				System.out.println("年龄:" + result.getInt("age"));
				System.out.println();
			}
			
			con.close();
		} catch (ClassNotFoundException e) { 
			e.printStackTrace();
		} catch (SQLException e) { 
			e.printStackTrace();
		}
	}
}

运行代码 :

Java使用mysql-connector-java-8.0.13连接数据库的一些问题插图6
成功!

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《Java使用mysql-connector-java-8.0.13连接数据库的一些问题
   

还没有人抢沙发呢~