Java基础教程(20)-Java连接mysql数据库CURD

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【4月更文挑战第19天】MySQL是流行的关系型数据库管理系统,支持SQL语法。在IDEA中加载jar包到项目类路径:右击项目,选择“Open Module Settings”,添加库文件。使用JDBC连接MySQL,首先下载JDBC驱动,然后通过`Class.forName()`加载驱动,`DriverManager.getConnection()`建立连接。执行CRUD操作,例如创建表、插入数据和查询,使用`Statement`或`PreparedStatement`,并确保正确关闭数据库资源。

MYSQL是啥

这个应该不写的,根据文章题目来看,大概率是有所了解的;但是以防万一,简单说一下;

MySQL数据库是一款广泛使用的关系型数据库管理系统(RDBMS),支持标准SQL语法,用户可以使用SQL语句对数据进行操作;

IDEA中如何加载jar包到项目的类路径中

由于java连接mysql需要使用到第三方jar包,所以需要知道如何加载外部jar包到clasapath中;

  • 右击项目或模块,选择“Open Module Settings”

  • 寻找与“Libraries”相关的选项。

  • 添加库文件或目录到依赖列表中。 选择已存在的.jar文件。
    在这里插入图片描述

编码JAVA连接mysql

使用JDBC连接MySQL数据库

  • JDBC:(Java Database Connectivity )

    在Java中连接MySQL数据库通常使用JDBC API,这是Java标准库的一部分,为Java应用程序与mysql数据库的交互提供了统一的接口。

    • 下载MySQL JDBC驱动

      手动下载MySQL JDBC驱动mysql-connector-java-8.0.30.jar并将其添加到项目的类路径中。

  • 加载驱动

    在Java代码中,需要在连接数据库前加载MySQL JDBC驱动。通常使用Class.forName()方法来加载驱动类:

      try {
          
          
        Class.forName("com.mysql.cj.jdbc.Driver");
      } catch (ClassNotFoundException e) {
          
          
        throw new IllegalStateException("MySQL JDBC driver not found", e);
      }
    
  • 创建数据库连接

    使用DriverManager.getConnection()方法创建到MySQL数据库的连接。该方法需要传入数据库连接URL、用户名和密码:

      String url = "jdbc:mysql://localhost:3306/db";
      String username = "username";
      String password = "password";
    
      try (Connection connection = DriverManager.getConnection(url, username, password)) {
         
         
        // 使用数据库连接执行操作...
      }
    
  • 执行CURD操作

    有了数据库连接后,可以创建StatementPreparedStatementCallableStatement对象来执行SQL语句:

    • 建表

      try (Statement statement = connection.createStatement()) {
             
             
            // SQL建表语句
            String createTableSql = "CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY,           name VARCHAR(50) NOT NULL UNIQUE,"                   "age int(100) NOT NULL)";
      
            // 执行建表语句
            statement.executeUpdate(createTableSql);
      
            System.out.println("Table 'users' created successfully.");
        } catch (Exception e) {
             
             
            System.err.println("Error creating table: " + e.getMessage());
            e.printStackTrace();
        }
      
    • 新增记录

      //新增
      String insertSql = "INSERT INTO users (name, age) VALUES (?, ?)";
      try (PreparedStatement pstmt = connection.prepareStatement(insertSql)) {
             
             
      pstmt.setString(1, "xiaoming");
      pstmt.setInt(2, 30);
      int rowsInserted = pstmt.executeUpdate();
      System.out.println(rowsInserted + " row(s) inserted.");
      }
      
      • 查询
        ```java
        //查询
        try (Statement stmt = connection.createStatement()) {
        String sql = "SELECT id, name FROM users WHERE age > 18";
        ResultSet rs = stmt.executeQuery(sql);

      while (rs.next()) {
      int id = rs.getInt("id");
      String name = rs.getString("name");
      System.out.println("ID: " + id + ", Name: " + name);
      }
      }
      ```

      使用ResultSet对象遍历查询结果,并在操作完成后关闭所有数据库资源(如ResultSetStatementConnection)。在上述代码中,使用了try-with-resources语句自动关闭这些资源,确保即使在发生异常时也能正确清理。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
4天前
|
Java Linux 测试技术
Java sdk连接fabric网络的谜之报错
Java sdk连接fabric网络的谜之报错
12 0
|
5天前
|
存储 关系型数据库 MySQL
Java大佬必知必会——MySQL主从复制
如果你现在有两台MySQL,一台版本是03年的MySQL5.0,另一台是18年的MySQL8.0.11。新版本可以作为老版本的从服务器,但反过来是不可行的。如果二进制文件包含了已存在的数据,就会造成数据重复了。如果从服务器复制该二进制文件后的数据库状态是混乱无序的,那整个复制的过程就没有意义了。如果主、从服务器存储数据的顺序不一样,就会导致每次执行删除的数据都是不同的。,老版本可能无法解析新版本的新特性,甚至复制的文件格式都差异太大。MySQL从库只会复制它本身缺失的最新数据,利用二进制文件里的。
92 3
Java大佬必知必会——MySQL主从复制
|
1天前
|
存储 设计模式 Java
java实习生面试题_java基础面试_java面试题2018及答案_java面试题库
java实习生面试题_java基础面试_java面试题2018及答案_java面试题库
|
1天前
|
SQL 算法 安全
java面试宝典_java基础面试_2018java面试题_2019java最新面试题
java面试宝典_java基础面试_2018java面试题_2019java最新面试题
|
2天前
|
Java 关系型数据库 MySQL
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
8 0
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
|
3天前
|
监控 数据库 Docker
Zabbix监控神通数据库教程
**摘要:** 本文介绍了如何使用Docker安装和配置神舟通用数据库,并利用Zabbix进行监控。首先,通过Docker安装数据库镜像,启动容器并映射端口。接着,使用默认凭证连接数据库并验证安装。然后,将数据库的Python模块和库文件复制到主机,并安装Python3.5及相应模块,创建外部检查脚本以实现Zabbix的监控功能。示例展示了查询数据库版本的监控指标配置。最后,提到了监控结果的界面展示,并邀请读者探索更多Zabbix监控技巧。
10 0
Zabbix监控神通数据库教程
|
4天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
1天前
|
存储 Java 关系型数据库
数据类型的取值范围以及Java和Mysql数据库的类型对照--强调时间类型的转换(jdk1.8)
数据类型的取值范围以及Java和Mysql数据库的类型对照--强调时间类型的转换(jdk1.8)
5 0
|
4天前
|
Java 大数据 API

热门文章

最新文章