Java 使用 JDBC 连接 MySQL 数据库。
提前安装好SQLyog,驱动包

我用的驱动包是5.1.7的,8.0以上会略有不一样

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System

步骤一:工程目录下创建类(我这里是jdbc)和lib文件

创建lib文件点new directory

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_bc_02

步骤二:导入驱动包

找到自己的驱动包然后复制(crtl c)一下,点击lib目录粘贴过去

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System_03

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_sql_04


点击ok

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_sql_05


此时并没有把驱动包导入进来还需要进行下一步

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_bc_06


点击lib右键add as library才能创建对应的路径,对应于eclipse就是build path

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System_07


lib目录下出现这些才算导入成功

步骤三:jdbc连接

分为五步:加载驱动,用户信息和url,连接数据库,执行sql语句,断开连接
第一步:加载驱动
首先我们知道Class.forName() 方法要求JVM查找并加载指定的类到内存中,此时将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径下找Driver类,将其加载到内存中。

Class.forName("com.mysql.jdbc.Driver");

第二步:用户信息和url

url是跟数据库进行连接的时候,用来连接到指定远程数据库标识符。

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_bc_08

String url="jdbc:mysql://localhost:3306/myemployees";
        String user="root";
        String password="1234";

第三步:连接数据库

Connection connection=DriverManager.getConnection(url,user,password);

第四步:执行sql语句

这里我执行的是查询语句

首先查询departments这个表

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_bc_09


这是执行sql语句的

ResultSet resultSet=statement.executeQuery(sql);

完整查询

Statement statement=connection.createStatement();
        String sql="SELECT * FROM departments";
        ResultSet resultSet=statement.executeQuery(sql);
        while(resultSet.next()){
            System.out.println("department_id="+resultSet.getString("department_id"));
            System.out.println("department_name="+resultSet.getString("department_name"));
            System.out.println("manager_id="+resultSet.getString("manager_id"));
            System.out.println("location_id="+resultSet.getString("location_id"));
        }

第五步:释放连接

resultSet.close();
        statement.close();
        connection.close();

附录:
完整代码:

package com;

import java.sql.*;

public class jdbc {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //用户信息和url
        String url="jdbc:mysql://localhost:3306/myemployees";//最后的myemployees是我自己创的表,根据自己的使用填写
        String user="root";
        String password="1234";//填写自己的密码
        //连接数据库
        Connection connection=DriverManager.getConnection(url,user,password);
        //执行sql对象
        Statement statement=connection.createStatement();
        String sql="SELECT * FROM departments";
        ResultSet resultSet=statement.executeQuery(sql);
        while(resultSet.next()){
            System.out.println("department_id="+resultSet.getString("department_id"));
            System.out.println("department_name="+resultSet.getString("department_name"));
            System.out.println("manager_id="+resultSet.getString("manager_id"));
            System.out.println("location_id="+resultSet.getString("location_id"));
        }
        //释放连接
        resultSet.close();
        statement.close();
        connection.close();

    }

}

常见错误:

1.no suitable driver found for jdbc

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System_10

一般这种错误是url不对,如果不会写就查询README.txt文件

找到自己的驱动包文件

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System_11


点击docs

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_sql_12


找到README文件

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System_13


找到这一行,关键字用url查询就可以找到,大概在中间位置,默认格式如图最后dbname是自己的表名,其他不变

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System_14


不写dbname会出现这种错误

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System_15


2.这种错误是密码写错了,using password:yes说明连接没有错误只是密码写错,如果是no就是其他的问题

java 系统长时间不操作 显示数据库连接超时 java连接数据库报错_System_16

最后一般第一次用JDBC可能多多少少会出点问题尤其是url的错误,在MySQL下载过程就一步一步来,环境变量要配置好,建表要正确,然后jdbc连接过程驱动包要导入正确,加载驱动,用户信息与url都填写正确基本不会出现问题!!
多试几次就没问题了