在IntelliJ IDEA中使用Java连接MySQL数据库的方法详解

下面我将详细讲解在IntelliJ IDEA中使用Java连接MySQL数据库的方法:

环境搭建

  1. 下载MySQL Community Server以及MySQL的JDBC驱动(可以在官网上下载)。

  2. 安装MySQL Community Server,并配置好用户名和密码。

  3. 将下载好的JDBC驱动放到IntelliJ IDEA的classpath中。具体操作可以在File -> Project Structure -> Modules 中添加jar包,或者将其放到项目的lib目录下。

连接MySQL数据库

在Java中连接MySQL数据库需要使用到JDBC API,我们需要使用Java代码来进行连接。

import java.sql.*;

public class ConnectMySQL {
    public static void main(String[] args) {
        Connection conn = null;
        String url = "jdbc:mysql://localhost:3306/test";
        String user = "root";
        String password = "password";

        try {
            // 加载MySQL JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 建立MySQL数据库连接
            conn = DriverManager.getConnection(url, user, password);
            // 输出连接成功信息
            System.out.println("MySQL数据库连接已经建立!");
        } catch (ClassNotFoundException ex) {
            // 捕获驱动加载失败异常
            System.out.println("驱动加载失败!");
        } catch (SQLException ex) {
            // 捕获数据库连接失败异常
            System.out.println("连接MySQL数据库失败!");
        } finally {
            if (conn != null) {
                try {
                    // 关闭数据库连接
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

以上代码使用了JDBC API中的一些类和方法,这些类和方法需要进行导入。这部分代码主要实现了JDBC API的核心功能:加载驱动、建立连接、关闭连接等。

示例

除了上述的示例代码,下面给出两个使用Java连接MySQL数据库的示例代码:

示例1

import java.sql.*;

public class JDBCExample {
  static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
  static final String DB_URL = "jdbc:mysql://localhost/EMP";
  static final String USER = "username";
  static final String PASS = "password";

  public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    try {
      Class.forName(JDBC_DRIVER);

      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);

      System.out.println("Creating statement...");
      stmt = conn.createStatement();
      String sql;
      sql = "SELECT id, name, age FROM Employees";
      ResultSet rs = stmt.executeQuery(sql);

      while (rs.next()) {
        int id = rs.getInt("id");
        int age = rs.getInt("age");
        String name = rs.getString("name");

        System.out.print("ID: " + id);
        System.out.print(", Age: " + age);
        System.out.println(", Name: " + name);
      }

      rs.close();
      stmt.close();
      conn.close();
    } catch (SQLException se) {
      se.printStackTrace();
    } catch (Exception e) {
      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!");
  }
}

通过上述Java代码实现了连接MySQL数据库、查询数据等基础操作,可供参考。

示例2

import java.sql.*;

public class Example {
  public static void main(String[] args) {
    Connection conn = null;
    try {
      String dbName = "mydb";
      String userName = "myuser";
      String password = "mypassword";

      Class.forName("com.mysql.cj.jdbc.Driver");
      conn = DriverManager.getConnection(
          "jdbc:mysql://localhost/" + dbName + "?user=" + userName + "&password=" + password);

      Statement stmt = conn.createStatement();
      String sql = "CREATE TABLE REGISTRATION " + "(id INTEGER not NULL, " + " username VARCHAR(255), "
          + " email VARCHAR(255), " + " PRIMARY KEY ( id ))";
      stmt.executeUpdate(sql);
      System.out.println("Created table in given database...");

      sql = "INSERT INTO REGISTRATION " + "VALUES (100, 'Zara', 'abc@gmail.com')";
      stmt.executeUpdate(sql);
      sql = "INSERT INTO REGISTRATION " + "VALUES (101, 'Mahnaz', 'def@gmail.com')";
      stmt.executeUpdate(sql);
      System.out.println("Inserted records into the table...");

      stmt.close();
      conn.close();
    } catch (SQLException se) {
      se.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      try {
        if (conn != null)
          conn.close();
      } catch (SQLException se) {
        se.printStackTrace();
      }
    }
    System.out.println("Goodbye!");
  }
}

以上的两个示例分别实现了数据库的建表和数据的插入操作。

希望以上内容能够帮助你在IntelliJ IDEA中使用Java连接MySQL数据库,如有任何问题请留言或者私信我,我会尽快回复。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在IntelliJ IDEA中使用Java连接MySQL数据库的方法详解 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java Hibernate中一对多和多对多关系的映射方式

    Java Hibernate是Java平台下一个流行的ORM框架,可以帮助我们将Java对象关系映射到关系型数据库中。在实际应用中,经常需要处理一对多和多对多的关系,例如一个用户可以拥有多个角色,一个订单可以包含多种商品等等。这时我们需要用到Hibernate中的一对多和多对多关系的映射。 一对多关系的映射 一对多的关系 在数据库中,一对多关系通常是通过外键…

    Java 2023年5月19日
    00
  • EasyUI创建人员树的实例代码

    下面我将详细讲解EasyUI创建人员树的实例代码的完整攻略。 1. 引入EasyUI资源文件 首先,我们需要在HTML文件中引入EasyUI所需的资源文件,包括EasyUI库文件、CSS样式文件、jQuery库文件。代码如下: <!– 引入EasyUI库文件 –> <script type="text/javascript&q…

    Java 2023年6月15日
    00
  • Java多线程编程中使用DateFormat类

    在Java多线程编程中,DateFormat类是常用的日期格式化类。本篇攻略将详细讲解如何在多线程环境中正确使用DateFormat类。 为什么要使用DateFormat类 在Java编程中,处理日期时间是一个常见的需求。格式化Date对象为字符串、解析字符串为Date对象等都需要用到日期格式化类。DateFormat类是一种线程不安全的类,因为DateFo…

    Java 2023年5月18日
    00
  • 解决SpringBoot中MultipartResolver和ServletFileUpload的冲突问题

    问题描述: 在使用SpringBoot开发Web应用时,如果同时使用了SpringMVC和Apache Commons File-Upload的ServletFileUpload类,就会导致MultipartResolver和ServletFileUpload的冲突问题。具体表现为上传文件时出现异常,上传文件的功能无法正常使用。 原因分析: Multipar…

    Java 2023年6月15日
    00
  • Spring切面优先级与基于xml的AOP实现方法详解

    Spring切面优先级与基于XML的AOP实现方法详解 在Spring中,切面是一种用于横切关注点的模块化方式。切面可以定义在XML文件中,也可以使用注解方式定义。本文将详细讲解Spring切面优先级和基于XML的AOP实现方法。 1. Spring切面优先级 在Spring中,切面的优先级是由切面的顺序决定的。切面的顺序可以通过实现Ordered接口或使用…

    Java 2023年5月18日
    00
  • 什么是Java对象关系映射(ORM)?

    Java对象关系映射(ORM)是一种理念,它将数据库中的关系数据模型转换为Java对象模型,并且提供了一种交互式的方式,使得Java程序可以访问和操作数据库,而不必使用SQL语言。ORM的使用可以大幅度减少代码的重复性,提高开发效率。 下面是一个基于ORM实现的小型Java Web应用的开发过程: 首先,我们需要选择一款Java ORM框架,常见的有Hibe…

    Java 2023年5月11日
    00
  • Java Session验证码案例代码实例解析

    下面我将为你讲解Java Session验证码案例代码实例解析的完整攻略。 1. 概述 本文将介绍如何通过Java Session技术实现验证码功能。首先让我们了解一下什么是Java Session? Java Session是Web应用程序中的一种技术。Session指的是在服务器端保存的一个数据结构,用于存储客户端的会话信息。在服务器端,Session以…

    Java 2023年5月20日
    00
  • 使用Java获取系统信息的常用代码整理总结

    以下是“使用Java获取系统信息的常用代码整理总结”的完整攻略。 简介 获取系统信息是Java应用开发中常用的操作之一,包括获取系统硬件、操作系统和虚拟机信息等。本攻略将总结Java获取系统信息的常用代码,方便开发者在实际项目中使用。 步骤 步骤1:引入相关依赖 Java获取系统信息需要借助相关的库,其中比较常用的是System Information fo…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部