【Java】IntelliJ IDEA使用JDBC连接MySQL数据库并写入数据

目录

  • 0 准备工作
  • 1 创建Java项目
  • 2 添加JDBC 驱动程序
  • 3 创建数据库连接配置文件
  • 4 创建一个 Java 类来连接和操作数据库
  • 5 运行应用程序

在 IntelliJ IDEA 中连接 MySQL 数据库并将数据存储在数据表中,使用 Java 和 JDBC(Java Database Connectivity)实现。

0 准备工作

  1. 下载并安装 IntelliJ IDEA
  2. 下载并安装 MySQL 数据库
  3. 下载 MySQL Connector/J 驱动程序(JDBC 驱动程序)
  4. 使用 Navicat 创建一个 MySQL 数据库

1 创建Java项目

  1. 打开 IntelliJ IDEA。
  2. 选择 "File"→ “New” → “Project”。
  3. 选择 “Java” 并设置项目名称,然后点击 “Finish”。

2 添加JDBC 驱动程序

  1. 将下载的 MySQL Connector/J 驱动程序的 JAR 文件(通常以.jar结尾)复制到项目的 libs 目录下。
    项目结构:
    在这里插入图片描述

  2. 在 IntelliJ IDEA 中,右键点击该 JAR 文件,选择 “Add as Library” 来将其添加到项目中。

3 创建数据库连接配置文件

  1. 在 IntelliJ IDEA 中,选择 “View” → “Tool Windows” → “Database”。
  2. 在 Database 工具窗口中,点击 “+” 图标,然后选择 “Data Source” → “MySQL”。
  3. 配置数据库连接信息,包括主机名、端口、数据库名称、用户名和密码。点击 “Test Connection” 按钮来确保连接正常。
    在这里插入图片描述
  4. 右键连接的数据库,创建一个测试数据表User:
    在这里插入图片描述

4 创建一个 Java 类来连接和操作数据库

   import java.sql.Connection;
   import java.sql.DriverManager;
   import java.sql.PreparedStatement;
   import java.sql.SQLException;

   public class MySQLConnection{
       public static void main(String[] args) {
           String url = "jdbc:mysql://localhost:3306/your_database_name";
           String user = "your_username";
           String password = "your_password";

           try (Connection connection = DriverManager.getConnection(url, user, password)) {
               // 连接成功
               System.out.println("连接成功");
               String sql = "INSERT INTO User (id, name) VALUES (?, ?)";
               try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
                   preparedStatement.setInt(1, 1);
                   preparedStatement.setString(2, "Milko");
                   int rowsAffected = preparedStatement.executeUpdate();
                   System.out.println("影响行数: " + rowsAffected);
               } catch (SQLException e) {
                   e.printStackTrace();
               }
           } catch (SQLException e) {
               e.printStackTrace();
           }
       }
   }

替换上面的示例中的your_database_nameyour_usernameyour_passwordyour_table_name为实际数据库中的信息和数据。

5 运行应用程序

  1. 在 IntelliJ IDEA 中,右键点击 Java 类,然后选择 “Run”。
  2. 应用程序将连接到 MySQL 数据库并将数据插入指定的表中:

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/122037.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

抓包工具fiddler的基础知识详解

一、简介 fiddler是位于客户端和服务端之间的http代理 1、作用 监控浏览器所有的http/https流量查看、分析请求内容细节伪造客户端请求和服务器请求测试网站的性能解密https的web会话全局、局部断电功能第三方插件 2、使用场景 接口调试、接口测试、线上环境调试、web性能分…

论文速览 | TRS 2023: 使用合成微多普勒频谱进行城市鸟类和无人机分类

注1:本文系“最新论文速览”系列之一,致力于简洁清晰地介绍、解读最新的顶会/顶刊论文 论文速览 | TRS 2023: Urban Bird-Drone Classification with Synthetic Micro-Doppler Spectrograms 原始论文:D. White, M. Jahangir, C. J. Baker and M. Antoniou, “Urban Bird-Drone…

IBM Qiskit量子机器学习速成(一)

声明:本篇笔记基于IBM Qiskit量子机器学习教程的第一节,中文版译文详见:https://blog.csdn.net/qq_33943772/article/details/129860346?spm1001.2014.3001.5501 概述 首先导入关键的包 from qiskit import QuantumCircuit from qiskit.u…

文心一言 VS 讯飞星火 VS chatgpt (131)-- 算法导论11.2 3题

三、用go语言,Marley 教授做了这样一个假设,即如果将链模式改动一下,使得每个链表都能保持已排好序的顺序,散列的性能就可以有较大的提高。Marley 教授的改动对成功查找、不成功查找、插入和删除操作的运行时间有何影响? 文心一…

助力青少年学习,亚马逊云科技2024年全球人工智能和机器学习奖学金计划正式启动

云未来将以何种方式发展?方向握在意气风发的少年们手中。近日,亚马逊云科技全球人工智能和机器学习(AI和ML)奖学金计划在中国区的首次颁奖以及2024年启动仪式在北京中学正式举行,有45名学子凭借杰出的学业成绩、对人工…

打开pr提示找不到vcomp100.dll无法继续执行代码怎么办?5种dll问题解决方案全解析

vcomp100.dll是一个由Microsoft开发的动态链接库(DLL)文件,它对于许多基于图形的应用程序(如Photoshop)和多个游戏(如《巫师3》)至关重要。以下是关于vcomp100.dll的属性介绍以及找不到vcomp100…

Qt工程打包工具 windeployqt 的用法

1.复制工程下的“Debug”或者“Release”文件夹到你喜欢的路径,例如:D:\QT_out\ 2.在操作系统“开始”选项找到“Qt”文件夹,打开“Qt 5.15.2(MSVC 2019 64-bit)” 重点: 这里要注意的是,一定…

TSINGSEE智慧冶金工厂可视化AI视频智能监管方案,助力安全生产

一、背景与需求 有色金属冶炼工艺复杂,推进互联网、大数据、人工智能、5G、边缘计算、虚拟现实等前沿技术在有色冶炼工厂的应用,建成全流程综合集成信息管控平台、实现全要素数据可视化在线监控,已经成为当前冶金企业升级转型的主要建设目标…

2023年亚太杯APMCM数学建模大赛ABC题辅导及组队

2023年亚太杯APMCM数学建模大赛 ABC题 一元线性回归分析类 回归分析(Regression Analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。   – 按涉及变量个数划分   • 一元回归分析   • 多元回归分析   – 按自变量和因变量之间关…

BSP-STM32移植FreeRTOS

在stm32裸机工程中的Middlewares目录添加freeRtos源码 在裸机工程中的main中调用freertos接口

什么是数据库?数据库有哪些基本分类和主要特点?

数据库是以某种有组织的方式存储的数据集合。本文从数据库的基本概念出发,详细解读了数据库的主要类别和基本特点,并就大模型时代备受瞩目的数据库类型——向量数据库进行了深度剖析,供大家在了解数据库领域的基本概念时起到一点参考作用。 …

c#装饰器模式详解

基础介绍: 动态地给一个对象添加一些额外的职责。适用于需要扩展一个类的功能,或给一个类添加多个变化的情况。 装饰器,顾名思义就是在原有基础上添加一些功能。 大家都只知道如果想单纯的给原有类增加一些功能,可以直接继续该类生…

“Python+”集成技术高光谱遥感数据处理与机器学习深度

高光谱遥感数据处理的基础、python开发基础、机器学习和应用实践。重点解释高光谱数据处理所涉及的基本概念和理论,旨在帮助学员深入理解科学原理。结合Python编程工具,专注于解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题,…

[Java/力扣160]相交链表

这道题的关键是,使两个链表上的指针同时到达相交点处 方法一:分别遍历两个链表,得到其长度。然后先让较长的链表上的指针走“两链表长度之差”。然后两指针分别一步一步走,就能同时到达相交点处。 方法二:让 p1 遍历…

Elasticsearch:ES|QL 的限制

尽管 ES|QL 带来性能及使用上的便捷,在实际的使用中,它还是有一些限制。在今天的文章中,我们来列举它的一些限制。 结果集大小限制 默认情况下,ES|QL 查询最多返回 500 行。 你可以使用 LIMIT 命令将行数增加到最多 10,000 行。 …

小时候画在手腕上的表,我用全志R128让他真正动了起来

小时候,我们总是充满想象力和创造力。 在那个年龄,我们没有真正的手表,但我们总是喜欢在纸上画出自己的手表,仿佛它真的能告诉我们时间。 为了弥补童年的遗憾,作者找到了一个智能手表的开源项目——NWatch&#xff0c…

JAVA微信端医院3D智能导诊系统源码

医院智能导诊系统利用高科技的信息化手段,优化就医流程。让广大患者有序、轻松就医,提升医疗服务水平。 随着人工智能技术的快速发展,语音识别与自然语言理解技术的成熟应用,基于人工智能的智能导诊导医逐渐出现在患者的生活视角中…

AlGaN/GaN HEMT 中缓冲区相关电流崩溃的缓冲区电位模拟表征

标题:Characterization of Buffer-Related Current Collapse by Buffer Potential Simulation in AlGaN/GaN HEMTs 来源:IEEE TRANSACTIONS ON ELECTRON DEVICES (18年) 摘要 - 在本文中,通过使用脉冲 I-V 测量和二维漂移扩散模拟研究了 Al…

PCA9535模块移植

在虚拟机环境里面找到内核文件 更改需要的信息 比如内核设备名称与设备树的名称是否一样 如有需要添加的应用程序 也需要添加进去 根据实际情况来 更改设备名称 还有注意的 比如中断号 根据硬件信息本次中断号为32 所以所有的设备树文件中断号都改为32 现在准备编写驱动文…

动态内存管理(上)

目录 为什么要有动态内存分配malloc和freemallocfree calloc和realloccallocrealloc 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒 个人主页 🥸🥸🥸 C语言 🐿️&…