当前位置: 首页 > article >正文

使用Java JDBC连接数据库

在Java应用程序中,与数据库交互是一个常见的任务。Java数据库连接(JDBC)是一种用于在Java应用程序和数据库之间建立连接并执行SQL查询的标准API。通过JDBC,您可以轻松地执行各种数据库操作,如插入、更新、删除和查询数据。本文将介绍如何在Java应用程序中使用JDBC来连接数据库。

步骤一:准备工作

在开始之前,确保您已经具备以下内容:

  • 安装了Java开发工具包(JDK)
  • 拥有一个数据库,比如MySQL、PostgreSQL或Oracle
  • 下载并安装了相应数据库的驱动程序(JDBC驱动)

步骤二:导入JDBC驱动程序

首先,您需要将所选数据库的JDBC驱动程序导入到您的项目中。
这通常是通过将驱动程序的JAR文件包含在项目的类路径中来完成的。
在这里插入图片描述
在这里插入图片描述
在lib文件夹右键选择Add as Library
在这里插入图片描述

您可以在数据库的官方网站上找到相应的JDBC驱动程序,并将其下载到您的项目中。

步骤三:编写Java代码

现在,让我们编写Java代码来连接数据库并执行一些基本操作。以下是一个简单的示例,演示了如何连接到数据库并执行一些SQL查询:

public class JDBCTest {
    public static void main(String[] args) {
        // 数据库连接信息
        String url = "jdbc:mysql://localhost:3306/这里填写数据名称";
        String username = "username";//数据库名字
        String password = "password";//数据库密码
        // 加载数据库驱动程序
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("数据库驱动程序加载失败");
            e.printStackTrace();
            return;
        }
        // 建立数据库连接
        try (Connection conn = DriverManager.getConnection(url, username, password)) {
            System.out.println("数据库连接成功");
            // 创建Statement对象
            Statement statement = conn.createStatement();
            // 执行SQL查询
            String sql = "SELECT * FROM users";
            ResultSet resultSet = statement.executeQuery(sql);
            // 处理查询结果
            while (resultSet.next()) {
                String name = resultSet.getString("name");
                int age = resultSet.getInt("age");
                System.out.println("姓名:" + name + ", 年龄:" + age);
            }
        } catch (SQLException e) {
            System.out.println("数据库连接失败");
            e.printStackTrace();
        }
    }
}

在这个示例中,我们首先加载了MySQL数据库的驱动程序,然后使用DriverManager建立了与数据库的连接。接下来,我们创建了一个Statement对象,并使用它来执行SQL查询。最后,我们遍历查询结果并将其输出到控制台。


http://www.kler.cn/a/274322.html

相关文章:

  • redis数据转移
  • Linux 网络维护相关命令简介
  • ScottPlot学习的常用笔记-02
  • 你好Python
  • 彻底认识和理解探索分布式网络编程中的SSL安全通信机制
  • web实验三
  • c语言指针(二)
  • 概率统计在AI中的作用
  • Java项目利用Redisson实现真正生产可用高并发秒杀功能 支持分布式高并发秒杀
  • 在线教育平台帮助教培机构打造线上
  • 代码随想录算法训练营第二十八天 | 93.复原IP地址 78.子集 90.子集II
  • IText5填充PDF表单使用自定义字体中文生效而英文和数字不生效?
  • Lua中文语言编程源码-第五节,更改lcorolib.c协程库函数, 使Lua加载中文库关键词(与所有的基础库相关)
  • 构建Helm chart和chart使用管道与函数简介
  • (008)Unity StateMachineBehaviour的坑
  • 自动驾驶决策 - 规划 - 控制 (持续更新!!!)
  • 移除元素(leetcode)
  • 人外周血单核细胞来源树突状细胞(MoDC)的制备(一)
  • 下拉树级带搜索功能
  • 分布式锁的详细解释
  • Linux Shell中的循环控制语句
  • 代码随想录算法训练营第二十四天|leetcode78、90、93题
  • 软件测试:C++ Google Test单元测试框架GTest
  • 虚拟机VMware上 centos7 的网络配置
  • 单调栈,LeetCode 1793. 好子数组的最大分数
  • 2、鸿蒙学习-申请调试证书和调试Profile文件