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

举报
厨师之乡 发表于 2024/04/29 07:59:42 2024/04/29
【摘要】 MYSQL是啥这个应该不写的,根据文章题目来看,大概率是有所了解的;但是以防万一,简单说一下;MySQL数据库是一款广泛使用的关系型数据库管理系统(RDBMS),支持标准SQL语法,用户可以使用SQL语句对数据进行操作; IDEA中如何加载jar包到项目的类路径中由于java连接mysql需要使用到第三方jar包,所以需要知道如何加载外部jar包到clasapath中;右击项目或模块,选择...

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.");
    }
    
    • 查询
    //查询
    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语句自动关闭这些资源,确保即使在发生异常时也能正确清理。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。