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`,并确保正确关闭数据库资源。

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

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
相关文章
|
3天前
|
关系型数据库 MySQL 数据安全/隐私保护
关于Navicat连接MySQL 报 Authentication plugin ‘caching_sha2_password‘ cannot be loaded
关于Navicat连接MySQL 报 Authentication plugin ‘caching_sha2_password‘ cannot be loaded
|
5天前
|
SQL Oracle 安全
Oracle11g更改数据库名(详细教程)
Oracle11g更改数据库名(详细教程)
14 1
|
1天前
|
SQL Oracle 关系型数据库
实时计算 Flink版操作报错合集之连接器换成2.4.2之后,mysql作业一直报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
12 3
|
3天前
|
存储 关系型数据库 MySQL
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
|
3天前
|
存储 数据可视化 前端开发
Echarts+vue+java+mysql实现数据可视化
Echarts+vue+java+mysql实现数据可视化
|
3天前
|
SQL 缓存 Java
实时计算 Flink版产品使用合集之flink-connector-mysql-cdc 和 flink-connector-sqlserver-cdc 这两个CDC连接器只能选择其中一个使用吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
24 0
|
3天前
|
Java 关系型数据库 MySQL
MySql数据库级别MD5加密java MD5加密解密工具包
MySql数据库级别MD5加密java MD5加密解密工具包
|
5天前
|
SQL Java 数据库连接
Java一分钟之-JDBC:Java数据库连接基础
【5月更文挑战第14天】JDBC是Java与关系数据库交互的API,常见问题包括资源管理、SQL注入和性能优化。易错点涉及驱动加载、空指针异常和事务管理。避免这些问题的方法有使用try-with-resources自动关闭资源、预编译PreparedStatement以防止SQL注入,以及正确管理事务。示例代码展示了基本的JDBC连接和查询。在实际开发中,推荐使用ORM框架如Hibernate或JPA来简化数据库操作。
14 1
|
5天前
|
Java 数据挖掘 BI
Java医院绩效考核系统源码B/S+avue+MySQL助力医院实现精细化管理
医院绩效考核系统目标是实现对科室、病区财务指标、客户指标、流程指标、成长指标的全面考核、分析,并与奖金分配、学科建设水平评价挂钩。
31 0
|
2天前
|
关系型数据库 MySQL API
实时计算 Flink版产品使用合集之可以通过mysql-cdc动态监听MySQL数据库的数据变动吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
17 0

推荐镜像

更多
http://www.vxiaotou.com