前提

确保电脑上的JAVA环境和MySQL数据库都安装配置好。如果要进行MySQL数据库编程,还需要下载和配置MySQL数据库的应用程序。

配置MySQL数据库驱动程序

  1. 登陆SQL的官方网站https://dev.mysql.com/downloads/connector/j/
    如图所示

dbeaver手动下载mysql驱动 mysqljdbc驱动包下载配置教程_mysql

  1. 然后在Select Operating System…组合框那里选择Platform Independent,并选择第Zip文件进行下载。
  2. dbeaver手动下载mysql驱动 mysqljdbc驱动包下载配置教程_java_02

  3. 点击下载之后会让你注册账号,此时无视该请求,直接下载
  4. dbeaver手动下载mysql驱动 mysqljdbc驱动包下载配置教程_java_03

  5. 点击下载即可
  6. dbeaver手动下载mysql驱动 mysqljdbc驱动包下载配置教程_dbeaver手动下载mysql驱动_04

  7. 5.将其解压缩,并将mysql-connector-java-8.0.22.jar放置到C:\Program Files\Java\jdk1.8.0_212\lib的目录下
  8. dbeaver手动下载mysql驱动 mysqljdbc驱动包下载配置教程_mysql_05

  9. 6.打开控制面板-系统-高级系统设置-环境变量,将MySQL数据库的驱动程序配置到本机的环境ClassPath属性中,如图所示,并设置变量值C:\Program Files\Java\jdk1.8.0_212\lib.jar。
  10. dbeaver手动下载mysql驱动 mysqljdbc驱动包下载配置教程_jdbc_06

注意点

用jdbc链接数据库MySql时出现如下异常:

java.lang.ClassNotFoundException: org.git.mm.mysql.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.panguso.test.ps.PSTestStandardizedProducts.DataBaseOperation.getDBConnection(DataBaseOperation.java:84)
at com.panguso.test.ps.PSTestStandardizedProducts.DataBaseOperation.getValuefromDB(DataBaseOperation.java:113)
at com.panguso.test.ps.PSTestStandardizedProducts.DataBaseOperation.main(DataBaseOperation.java:157)

1.不少老教材说SQL数据库的驱动程序路径是org.gjt.mm.mysql.Driver,是针对老版本而言的
原因是在数据库驱动程序org.gjt.mm.mysql.Driver类中没有源代码,打开后可发现内容为:

//Compiled from Driver.java (version 1.5 : 49.0, super bit)
public class org.gjt.mm.mysql.Driver extends com.mysql.jdbc.Driver {

解决办法:
用mysql自己的的驱动程序 将org.gjt.mm.mysql.Driver换成com.mysql.cj.jdbc.Driver即可。

有些解决方案说是com.mysql.jdbc.Driver,其实已经是老版本的事情了。一旦输入这个老版本的驱动路径,将会出现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的信息。

若以上程序正常运行,说明数据库驱动程序已经配置成功。若仍出现错误,可能是你的环境变量配置有问题,或是MySQL数据库没有启动。

链接数据库

如果驱动程序加载成功,进一步使用DriverMannager链接数据库

package homework;
import java.sql.*;
public class TestJDBC2 {
	// 定义MySQL的数据库驱动程序
	public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
	// 定义MySQL数据库的连接地址,连接数据库moivessystem
	public static final String DEURL  = "jdbc:mysql: //localhost:3306/moviessystem";
	public static final String DEUSER = "root";
	public static final String DEPASS = "root";
	public static void main(String[] args) {
		Connection conn = null;
		try {
			Class.forName(DBDRIVER);   //加载驱动程序
		}catch(ClassNotFoundException e) {
			e.printStackTrace();
		}
		try {
			conn = DriverManager.getConnection(DEURL,DEUSER,DEPASS);  //创建Connection对象连接数据库
		}catch(SQLException e) {
			e.printStackTrace();
		}
		System.out.println(conn); //如果可以正常打印,则表示连接正常
		try {
			conn.close();
		}catch(SQLException e)
		{
			e.printStackTrace();
		}
	}
}

程序运行结果如下,若不为null,说明数据库已经连接成功。

dbeaver手动下载mysql驱动 mysqljdbc驱动包下载配置教程_jdbc_07

注意点

在连接过程中会出现
java.sql.SQLException: The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specific time zone value if you want to utilize time zone support.

原因是因为MySQL版本过高,mysql的无效连接属性异常

解决办法:

使用Win + R打开命令行,然后设置

mysql> set global time_zone='+8:00';
Query OK, 0 rows affected (0.01 sec)

程序就可以正常运行了