1.安装测试内容

  • windows环境(默认已有)
  • JDK1.8+eclipse(默认已有)
  • MySQL-8.0.x下载安装
  • 工具(Navicat for MySQL)连接MySQL
  • java(mysql-connector-java)连接MySQL

2.Mysql-8.0.x下载安装

  1. 官网下载下载地址:https://dev.mysql.com/downloads/mysql/ 下拉找到如图所示点击下载:
  2. 将解压文件解压到你安装的目录:D:\Tools\mysql-8.0.11-winx64,新建一个my.ini文件和一个data文件夹
  3. 其中my.ini文件内容如下,红色部分根据实际情况修改:

  4. 配置mysql
    添加系统环境变量,快捷键“WIN+PauseBreak”—“高级系统设置”—“高级”—“环境变量”—“系统变量”—“path”—“编辑”

  5. 管理员的身份打开cmd窗口跳转路径到D:\Tools\mysql-8.0.11-winx64\bin

执行$ mysqld –initialize –user=mysql –console 初始化数据库名称为mysql(后续有用),会生成一个临时密码。
执行$ mysqld -install 进行服务的添加
执行$ net start mysql 启动数据库服务
执行$ mysql -u root -p 进行登录数据库,这时提示需要密码,然后就是用你上面的密码登录
执行$ ALTER USER root@localhost IDENTIFIED BY ‘123456’; 注意命令最后有分号,修改密码为:123456

3.mysql-connector-java使用下载

  1. 官网下载下载地址:https://dev.mysql.com/downloads/connector/j/ 找到如图所示点击下载:

    解压缩后可以找到mysql-connector-java-8.0.11.jar
  2. eclipse新建工程
    打开eclipse,依次选择“File”—“New”—“Java Projcet”—-填写工程名—-“finish”

  3. “src”文件右击—“new”—“class”,创建测试文件test.java文件

  4. 工程名“JDBC_Demo”右击创建测试文件lib文件夹,并将步骤1中的mysql-connector-java-8.0.11.jar复制到该文件夹下

    配置工程链接库文件,工程名“JDBC_Demo”右击 “Build Path”——“Add External …”—选中工程中的mysql-connector-java-8.0.11.jar

  5. 复制如下代码到test.java文件(要修改的可能就是数据库名称,用户名称,密码)

package com.jdbc.demo;

import java.sql.*;

public class test {
        static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";  
        static final String DB_URL = "jdbc:mysql://localhost:3306/mysql?&useSSL=false&serverTimezone=UTC";  
        // 数据库的用户名与密码,需要根据自己的设置
        static final String USER = "root";
        static final String PASS = "hryycfl@123";
        static final String querysql = "SELECT id, name, url FROM websites"
        static final String creatsql = "CREATE TABLE `websites` (\r\n" + 
                " `id` int(11) NOT NULL AUTO_INCREMENT,\r\n" + 
                " `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',\r\n" + 
                " `url` varchar(255) NOT NULL DEFAULT '',\r\n" + 
                " `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',\r\n" + 
                " `country` char(10) NOT NULL DEFAULT '' COMMENT '国家',\r\n" + 
                " PRIMARY KEY (`id`)\r\n" + 
                ") ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;";
        static final String insertsql ="INSERT INTO `websites` VALUES"
                       +"('1', 'Google', 'https://www.google.cm/', '1', 'USA'),"
                       +"('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), "
                       +"('3', '菜鸟教程', 'http://www.runoob.com', '5892', ''),"
                       +"('4', '微博', 'http://weibo.com/', '20', 'CN')," 
                       +"('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');";



  public static void main(String[] args) {

        // JDBC 驱动名及数据库 URL
            Connection conn = null;
            Statement stmt = null;
            try{

                Class.forName(JDBC_DRIVER);// 注册 JDBC 驱动


                System.out.println("连接数据库..."); // 打开链接
                conn = DriverManager.getConnection(DB_URL,USER,PASS);


                System.out.println(" 实例化Statement对象...");
                stmt = conn.createStatement();

                if (0 == stmt.executeLargeUpdate(creatsql)) {       // 数据库中创建表
                  System.out.println("成功创建表!");
                } else {
                  System.out.println("创建表失败!");
                }      
               stmt.executeUpdate(insertsql) ;       //表中插入数据


                ResultSet rs = stmt.executeQuery(querysql);        // 执行查询

                // 展开结果集数据库
                while(rs.next()){
                    // 通过字段检索
                    int id  = rs.getInt("id");
                    String name = rs.getString("name");
                    String url = rs.getString("url");

                    // 输出数据
                    System.out.print("ID: " + id);
                    System.out.print(", 站点名称: " + name);
                    System.out.print(", 站点 URL: " + 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("Goodbye!");
        }

    }
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94

配置结束可以运行测试,:)
6. 运行, “test.java”右击“Run As”—“java application”

附:

Java MySQL 连接

本章节我们为大家介绍 Java 如何使用 使用 JDBC 连接 MySQL 数据库。

Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,
解压后得到jar库文件,然后在对应的项目中导入该库文件。

你可以下载本站提供的 jar 包:
mysql-connector-java-5.1.39-bin.jar

本实例使用的是 Eclipse,导入 jar 包:

1. 启动Mysql并创建test数据库:
创建测试数据:
接下来我们在 MySQL 中创建 test 数据库,并创建 websites 数据表,表结构如下:

CREATE TABLE `websites` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
  `url` varchar(255) NOT NULL DEFAULT '',
  `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
  `country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

插入一些数据:

INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '菜鸟教程', 'http://www.runoob.com', '5892', ''), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');

数据表显示如下:


2. 代码:
连接数据库
以下实例使用了 JDBC 连接 MySQL 数据库,注意一些数据如用户名,密码需要根据你的开发环境来配置:

package com.hit.demo5;

/** * @Author: zyx * @Date: 2019/4/1 15:50 * @Description: **/

import java.sql.*;

public class MySQLDemo {
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/test";

    static final String USER = "root";
    static final String PASS = "***********";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            // 注册 JDBC 驱动
            Class.forName("com.mysql.jdbc.Driver");

            // 打开链接
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);

            // 执行查询
            System.out.println(" 实例化Statement对象...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT * FROM websites";
            ResultSet rs = stmt.executeQuery(sql);

            // 展开结果集数据库
            while (rs.next()) {
                // 通过字段检索
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String url = rs.getString("url");
                int alexa = rs.getInt("alexa");
                String country = rs.getString("country");

                // 输出数据
                System.out.print("ID: " + id);
                System.out.print(", 站点名称: " + name);
                System.out.print(", 站点 URL: " + url);
                System.out.print(", 站点排名: " + alexa);
                System.out.print(", 站点国家: " + country);
                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("Goodbye!");
    }
}

3. 运行结果:

参考:

  1. Java对MySQL数据库进行连接、查询和修改
  2. Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
  3. Java连接MySQL数据库详细分析
  4. 完整java开发中JDBC连接数据库代码和步骤
  5. Java MySQL 连接