专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

JDBC连接Mysql8.0失败解决方法

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:54:31       共计:3598 浏览

说来也惭愧,虽说装了mysql8,我却还在尝试用N年前链接Mysql5的JDBC做尝试,脑子着实有问题。

一.加载JAR包:

在你的项目中新建一个lib的文件夹,将下载好的jar包复制到lib文件夹中,右键点击jar包->Buid Path->Add Buid Path.

 

二.5.0.X版本与8.0.X版本的区别:

1. 5.0.X版本连接的驱动地址为:"com.mysql.jdbc.Driver",而8.0.X版本的更改为:"com.mysql.cj.jdbc.Driver"

2. 建立连接时url增加了一些参数: 5.0.X版本的url为String url = "jdbc:mysql://localhost:3306/student"

而8.0.X版本的需要在后面加上一串字母变为:String url = "jdbc:mysql://local:3306/student?&useSSL=false&serverTimezone=UTC"

 

三.连接数据库读取数据

用Navicat Premium中建一张数据表


java连接数据库代码:
package mysql.test;

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

/**
 * 
 * @author: Doomed
 * @date: 2018/7/20
 * @place: usth
 *
 */
public class MysqlDemo {
    public static void main(String[] args){
    // 加载数据库驱动  com.mysql.jdbc.Driver
        String driver = "com.mysql.cj.jdbc.Driver";
        // 获取mysql连接地址
       String url = "jdbc:mysql://localhost/student?&useSSL=false&serverTimezone=UTC";
        // 数据名称
       String username = "root";
        // 数据库密码
        String password = "123456";
        // 获取一个数据的连接
        Connection conn = null;
        // 获取连接的一个状态
        try{
            Class.forName(driver);
            //getConnection()方法,连接MySQL数据库!
            conn=DriverManager.getConnection(url,username,password);
            if(!conn.isClosed())
            System.out.println("数据库连接成功!");
             //创建statement类对象,用来执行SQL语句!
            Statement Statement=conn.createStatement();
            //要执行的SQL语句
            String sql="select * from info" ;
            //ResultSet类,用来存放获取的结果集!
            ResultSet rs=Statement.executeQuery(sql);
             System.out.println("-------------------------------");
             System.out.println("执行结果如下所示:");  
             System.out.println("-------------------------------");  
             System.out.println("学号" + "\t" + "姓名"+"\t");  
             System.out.println("-------------------------------");  
             String id=null;
             String name=null;
             while(rs.next()){
                //获取‘学号’这列数据
                 id=rs.getString("number");
                 //获取‘姓名’这列数据
                name=rs.getString("name");
                //输出结果
                System.out.println(id+"\t"+name+"\t");
             }
             rs.close();
             conn.close();
         }
         catch(ClassNotFoundException e){
             //数据库驱动类异常处理
        System.out.println("数据库驱动加载失败!");
        e.printStackTrace();
         }
        catch(SQLException e1){
        //数据库连接失败异常处理
         e1.printStackTrace();
        }
        catch(Exception e2){
        e2.printStackTrace();
        }
        finally{
             System.out.println("-------------------------------");  
            System.out.println("数据库数据获取成功!");
        }
        }
}

 

执行结果:


 

    (总结一句话:新版的就是事多)

 
原文链接:https://blog.csdn.net/sinat_41721615/article/details/84346249

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:eclipse搭建安卓开发环境 | ·下一条:SpringMVC上传文件的三种方式

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有