文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java连接Mysql数据库步骤详细讲解

2023-09-03 10:03

关注

如何使用java连接mysql数据库?

使用 jdbc 连接 mysql 数据库。

详细讲解如下,请依次逐步观看,避免出错。

选择jdk版本

建议选择18以下的jdk,18版本以上可能会导致输出中文乱码。这里我们使用intellij idea,选择17.0.4版本的jdk。

并且最好新建一个项目,以免jdk版本和编译器版本不一致。如图:

 

选择数据库版本 

建议选择8以下的mysql数据库,这里选择5.7.39版本的mysql。如图:

下载java的mysql驱动包 

为了方便,我们使用maven。在 maven 工程下的 pom.xml 中加mysql-connector-java 的依赖,只需要填想要的版本号,就能自动下载对应的 jar 包。这里我们下载5.1.39的驱动,如图:

 下载驱动包的代码:

                    mysql            mysql-connector-java            5.1.39        

项目目录如图:

创建数据表

使用Navicat Premium,新建test数据库。

 创建test表,如图:

 建表语句:

CREATE TABLE `test` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` char(20) NOT NULL DEFAULT '',  `sx` char(10) NOT NULL DEFAULT '',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

插入数据,如图:

建表语句:

INSERT INTO `test` VALUES ('1', '金一', '金'), ('2', '木一', '木');

导入数据成功图片:

连接数据库

创建mysql1.java文件,详细代码和解析:

package mysql;import java.sql.*;public class mysql1 {    // MySQL8.0以下版本 - JDBC驱动名及数据库URL    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";    // test为数据库名,?后面这句很重要,设置useSSl=false    static final String DB_URL = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF8&autoReconnect=true&useSSL=false";    // 数据库的用户名与密码,需要根据自己的设置    static final String USER = "root";    static final String PASS = "123456";    public static void main(String[] args) {        Connection conn = null;        Statement stmt = null;        try{            // 注册 JDBC 驱动,加载驱动            Class.forName(JDBC_DRIVER);            // 打开链接,连接数据库            System.out.println("数据库连接中...");            conn = DriverManager.getConnection(DB_URL,USER,PASS);            // 执行查询            System.out.println(" 实例化Statement对象...");            stmt = conn.createStatement();            String sql;            sql = "SELECT id, name, sx FROM test";            ResultSet rs = stmt.executeQuery(sql);            // 展开结果集数据库            while(rs.next()){                // 通过字段检索                int id  = rs.getInt("id");                String name = rs.getString("name");                String url = rs.getString("sx");                // 输出数据                System.out.print("ID: " + id);                System.out.print(", 姓名: " + name);                System.out.print(", 属性: " + url);                System.out.print("\n");            }            // 完成后关闭            rs.close();            stmt.close();            conn.close();        }catch(SQLException se){            // 处理 JDBC 错误            se.printStackTrace();        }catch(Exception e){            // 处理 Class.forName 错误            e.printStackTrace();        }finally{            // 关闭资源            try{                if(stmt!=null) stmt.close();            }catch(SQLException se2){            }// 什么都不做            try{                if(conn!=null) conn.close();            }catch(SQLException se){                se.printStackTrace();            }        }        System.out.println("操作结束!");    }}

运行图展示:

 以上为mysql8.0以下版本连接mysql操作,8.0以上版本连接数据库需要更改以下设置:

mysql 8.0 以上版本驱动包版本为 mysql-connector-java-8.0.16.jar。

com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver。

MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭,useSSL=false。

allowPublicKeyRetrieval=true 允许客户端从服务器获取公钥。

最后还需要设置 CST,serverTimezone=UTC。

 加载驱动和连接数据库方法:

Class.forName("com.mysql.cj.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?characterEncoding=UTF8&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC","root","password");

java连接mysql数据库讲解完毕,有不恰当的地方请指正,谢谢点赞和收藏。

来源地址:https://blog.csdn.net/m0_70819559/article/details/126966848

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯