Java基于jdbc连接mysql数据库操作示例

下面是Java基于JDBC连接MySQL数据库操作的完整攻略,包含两条示例。

步骤一:准备工作

在开始Java程序连接MySQL数据库之前,需要完成以下几个准备工作:

  • 安装MySQL数据库并创建需要操作的数据库和表
  • 下载并安装Java JDK
  • 下载并安装MySQL Connector/J驱动程序

步骤二:创建数据库连接

请按照以下步骤创建数据库连接:

  1. 加载MySQL Connector/J驱动程序
Class.forName("com.mysql.jdbc.Driver");
  1. 创建数据库连接
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "admin";
String password = "admin123";
Connection conn = DriverManager.getConnection(url, username, password);

其中,url是要连接的数据库URL,mydatabase是需要操作的数据库名称;usernamepassword是连接MySQL数据库的用户名和密码。

步骤三:执行SQL语句

请按照以下步骤执行SQL语句:

  1. 创建Statement对象
Statement stmt = conn.createStatement();
  1. 执行SQL语句
String sql = "SELECT * FROM mytable";
ResultSet rs = stmt.executeQuery(sql);

其中,mytable是需要操作的表名。

示例一:查询数据并输出

public class QueryDataDemo {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            // 加载MySQL Connector/J驱动程序
            Class.forName("com.mysql.jdbc.Driver");

            // 创建数据库连接
            String url = "jdbc:mysql://localhost:3306/mydatabase";
            String username = "admin";
            String password = "admin123";
            conn = DriverManager.getConnection(url, username, password);

            // 创建Statement对象并执行SQL语句
            stmt = conn.createStatement();
            String sql = "SELECT * FROM mytable";
            rs = stmt.executeQuery(sql);

            // 遍历结果集并输出数据
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");

                System.out.println("id:" + id + ", name:" + name + ", age:" + age);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭ResultSet、Statement和Connection
            try { if (rs != null) rs.close(); } catch (Exception e) {}
            try { if (stmt != null) stmt.close(); } catch (Exception e) {}
            try { if (conn != null) conn.close(); } catch (Exception e) {}
        }
    }
}

示例二:插入数据

public class InsertDataDemo {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            // 加载MySQL Connector/J驱动程序
            Class.forName("com.mysql.jdbc.Driver");

            // 创建数据库连接
            String url = "jdbc:mysql://localhost:3306/mydatabase";
            String username = "admin";
            String password = "admin123";
            conn = DriverManager.getConnection(url, username, password);

            // 创建Statement对象并执行SQL语句
            stmt = conn.createStatement();
            String sql = "INSERT INTO mytable(id, name, age) VALUES(1, '张三', 20)";
            int rows = stmt.executeUpdate(sql);

            // 输出插入数据的行数
            System.out.println(rows + " rows affected.");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭Statement和Connection
            try { if (stmt != null) stmt.close(); } catch (Exception e) {}
            try { if (conn != null) conn.close(); } catch (Exception e) {}
        }
    }
}

以上两条示例演示了如何使用Java基于JDBC连接MySQL数据库进行数据查询和数据插入。需要注意的是,在实际应用中,还需要进行异常处理以及资源释放等操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java基于jdbc连接mysql数据库操作示例 - Python技术站

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

相关文章

  • 解决maven update project 后项目jdk变成1.5的问题

    以下是详细的攻略: 背景 在使用 Maven 更新项目后,有时会发现项目的 JDK 版本被更改为了1.5(或其他版本),造成编译失败等问题。这种情况通常是因为 Maven 没有正确识别项目的 JDK 版本而导致的。 解决方法 方案一:手动配置 Maven 设置 找到你的 Maven 安装目录下的 conf 目录,进入其中的 settings.xml 文件。 …

    Java 2023年5月19日
    00
  • 详解Mybatis模板(已优化)适合小白

    详解 Mybatis 模板(已优化)适合小白的完整攻略 Mybatis 是一款非常流行的轻量级 ORM 框架,使用 Mybatis 可以让 Java 开发者更加方便地操作数据库。在 Mybatis 中,使用模板可以大大简化编程,减少重复的代码。 在这篇攻略中,我们将详细讲解 Mybatis 模板的用法和优化技巧,这将帮助初学者更好地理解 Mybatis 的编…

    Java 2023年5月20日
    00
  • 动态字节码生成的作用是什么?

    动态字节码生成是指在程序运行过程中动态生成字节码的一种技术。它可以让程序在运行时动态地生成类,方法和字段等内容,而不必像静态代码一样事先写好保存在文件中。这种技术最常见的使用场景是实现动态代理、AOP(面向切面编程)等功能。以下是动态字节码生成的使用攻略。 步骤一:引入相关库 使用动态字节码生成技术需要引入相关的库,下面是两种常用的库: ASM:ASM是Ja…

    Java 2023年5月11日
    00
  • java多线程关键字final和static详解

    Java多线程关键字final和static详解 在Java中,final和static是常用的关键字之一,它们不仅在单线程中有用,而且在多线程环境中也起到了非常重要的作用。本文将详细介绍final和static的使用场景及每个场景的一些细节问题。 final关键字 final关键字表示最终的,不可更改的。因此,final变量一旦被初始化赋值以后,就不能再更…

    Java 2023年5月19日
    00
  • SpringBoot 之启动流程详解

    SpringBoot 之启动流程详解 SpringBoot 是一个底层框架,它提供了很多简化开发过程的配置和工具。它最大的优势在于可以快速地构建和部署应用,无需手动配置大量参数,节省了开发人员大量时间。本文将详细讲解 SpringBoot 应用的启动流程,以帮助开发人员更好地理解和使用 SpringBoot。 1. SpringBoot 的核心模块 在了解 …

    Java 2023年5月19日
    00
  • javascript正则表达式之search()用法实例

    JavaScript正则表达式之search()用法实例 简介 在 JavaScript 中,正则表达式是一个非常强大的功能。正则表达式用于对文本进行模式匹配和替换。search()方法是 JavaScript RegExp 对象的一个方法。search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。 语法 search() 方…

    Java 2023年6月15日
    00
  • 什么是线程安全?

    以下是关于线程安全的完整使用攻略: 什么是线程安全? 线程安全是指在多线程环境下,对共享资源的访问不会出现数据不一致或者数据污染的问题。在多线程环境下,如果多个线程同时访问同一个共享资源,那么就有可能出现数据不一致的问题,这就是线程安全。 为了保证线程安全,需要采取一些措施,比如使用同步机制、使用线程安全的结构等。 1. 同步机制 同步机制是指在多线程环境下…

    Java 2023年5月12日
    00
  • Android开发学习路线的七大阶段

    当你开始学习Android开发时,为了使你的学习变得更具有结构性、更有效率,你可以将你的学习路线分为7个阶段,具体如下: 阶段1:入门 在这个阶段,你需要了解一些基础的概念和原理,例如Java语言基础、Android应用基础组件和Android Studio开发工具的使用。完成模拟器上的Hello World应用程序,并能够了解Android应用的基本结构和…

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