JDBC的实现(IDEA版)

news2024/9/24 7:19:35

前期准备
开发环境:
IDEA 2021.1.3
JAVA 1.8
MYSQL 8.0.32
msql用户名:root
密码:123
下载MySQL JDBC 驱动
前往MySQL官网下载对应版本的MySQL Connector/J驱动
(下载地址:https://dev.mysql.com/downloads/connector/j/)。
步骤开始
1.打开IDEA,新建项目
在这里插入图片描述
在这里插入图片描述

2.在项目目录下新建目录lib把刚刚下载的MySQL JDBC 驱动压缩包下的mysql-connector-j-8.0.32.jar放进去我新建的项目是JDBC_DEMO1S在F盘的JAVA下
在这里插入图片描述

3.在IDEA中打开项目,在项目面板中右键点击lib目录,选择Add as Library。
在这里插入图片描述

在弹出的Create Library窗口中,点击OK按钮。

确认添加的依赖库在pom.xml文件中已经添加,如果没有,可以手动添加以下代码:
在这里插入图片描述

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.32</version>
</dependency>

我的mysql版本是8.0.32

创建jdbc.java文件,内容
在这里插入图片描述
内容,记得改13行,把那个空格删掉

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class jdbc {

    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/testdb";
        String user = "root";
        String passwo rd = "你的数据库密码";

        try {
            // 加载 MySQL JDBC 驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 建立连接
            Connection conn = DriverManager.getConnection(url, user, password);

            // 创建查询语句
            String sql = "SELECT * FROM users";
            Statement stmt = conn.createStatement();

            // 执行查询
            ResultSet rs = stmt.executeQuery(sql);

            // 输出查询结果
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String email = rs.getString("email");

                System.out.println("id: " + id + ", name: " + name + ", email: " + email);
            }

            // 关闭连接
            rs.close();
            stmt.close();
            conn.close();

        } catch (ClassNotFoundException e) {
            System.out.println("无法加载 MySQL JDBC 驱动");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("MySQL 数据库连接失败");
            e.printStackTrace();
        }
    }
}

6.记得创建数据库,进入mysql(要确保mysql可以进入)

CREATE DATABASE testdb;
 use testdb;

CREATE TABLE users (
    -> id INT PRIMARY KEY AUTO_INCREMENT,
    -> username VARCHAR(50) NOT NULL,
    -> password VARCHAR(50) NOT NULL
    -> );

运行
在这里插入图片描述
成功了,有问题发评论区

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于rootfs构建Docker镜像

1. 背景 在实际工作中&#xff0c;由于系统本身版本过低&#xff0c;在接受新项目时出现系统版本过低而无法开始工作的问题。 为了解决该问题&#xff0c;使用Docker构建基于ubuntu-18.04的Docker镜像&#xff0c;以解决版本兼容问题。 2. 构建rootfs 2.1. 下载ubuntu-18.0…

HCIA复习1

HCIA复习 抽象语言---->编码 编码---->二进制 二进制--->电信号 处理电信号 OSI参考模型----OSI/RM 应用层 表示层 会话层 传输层 端口号&#xff1a;0-65535&#xff1b;1-1023是注明端口 网络层 IP地址 数据链路层 物理层 ARP协议 正向ARP---通过IP地址获取目的MAC地…

云服务器Ubuntu(无桌面)安装远程桌面

如果主机上安装的ubuntu是桌面版&#xff0c;打开桌面共享即可使用Windows的远程桌面进行链接。详细参考ubuntu20.10中设置桌面共享的三种方式(任选其一) 的第一部分。 本文主要说明如何在Ubuntu云服务器上安装远程桌面。 一、安装桌面环境 在 Ubuntu 源仓库有很多桌面环境供…

路由协议(OSPF、ISIS、BGP)实验配置

目录 OSPF基础实验 建立OSPF邻居 配置虚连接 配置接口的网络类型 配置特殊区域 配置路由选路 配置路由过滤 ISIS基础实验配置 配置ISIS邻居建立 配置认证 配置路由扩散 配置路由过滤 配置定时器 BGP基础实验配置 建立BGP对等体 建立IBGP对等体 建立EBGP对等体…

自动驾驶规划控制软硬一体化控制器解决方案(一)

随着社会的进步&#xff0c;汽车工业和电子科技发展迅速&#xff0c;车载电子器件的数量越来越多&#xff0c;汽车 电子的平台集成度越来越高&#xff0c;两者的融合正在革新着人们的驾乘体验。本文基于 x86 SoC 进 行系统设计&#xff0c;实现高效的汽车智能驾驶舱技术和高级驾…

ASGARD:单细胞导向的药物发现

异质性&#xff0c;或更具体地说&#xff0c;病变组织中的不同的细胞群&#xff0c;是许多复杂疾病治疗失败的主要原因&#xff08;如癌症、阿尔茨海默症、中风和COVID-19等&#xff09;&#xff0c;也是精准医疗成功的主要障碍。近年来&#xff0c;单细胞技术&#xff0c;特别…

【项目精选】基于Java的模拟写字板的设计与实现(视频+论文+源码)

点击下载源码 此系统是使用Java语言实现简易写字板程序&#xff0c;能够进行输入文字操作&#xff0c;并具有新建文件&#xff0c;打开文件&#xff0c;保存文件&#xff0c;退出&#xff0c;复制&#xff0c;粘贴&#xff0c;剪切&#xff0c;全选&#xff0c;撤销等多种基本…

电子技术——晶体管尺寸

电子技术——晶体管尺寸 在本节我们介绍关于IC设计的一个重要的参数晶体管尺寸&#xff08;例如长度和长宽比&#xff09;。我们首先考虑MOS反相器。 反相器尺寸 为了说明 (W/L)(W/L)(W/L) 的尺寸大小以及 (W/L)p(W/L)_p(W/L)p​ 和 (W/L)n(W/L)_n(W/L)n​ 的比例问题对于MO…

CENTO OS上的网络安全工具(十八)ClickHouse及编程环境部署

这篇其实去年就写好了&#xff0c;孰知就在12月31日那一天打进决赛圈&#xff0c;一躺&#xff0c;二过年&#xff0c;三休假&#xff0c;四加班&#xff0c;居然到了三个月以后&#xff0c;才有机会将它发出来…… 一年也就四个季度不是&#xff0c;实在是光阴荏苒&#xff0c…

代码随想录|day6|哈希表篇-- 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、1. 两数之和

总链接https://docs.qq.com/doc/DUEtFSGdreWRuR2p4?u329948d2f0044f34b7cbe72503f0b572 242.有效的字母异位词 链接&#xff1a;代码随想录 class Solution { public:bool isAnagram(string s, string t) {//两种做法&#xff0c;一种是int f[26]的数组,一种是map /*第一种&a…

历史大讲堂:这是真·图形化 苹果系统历史回顾(上)

众所周知&#xff0c;米国有个非常牛掰的公司叫苹果&#xff0c;想必大家对这个logo不陌生吧。 目前已发布的苹果产品有iPhone、iPad、iPod等等&#xff0c;简直花样繁多&#xff0c;而且各种功能很好用&#xff0c;我的手机就是一部苹果iPhone X。 等一下&#xff0c;似乎扯远…

14个Python处理Excel的常用操作,非常好用

自从学了Python后就逼迫用Python来处理Excel&#xff0c;所有操作用Python实现。目的是巩固Python&#xff0c;与增强数据处理能力。 这也是我写这篇文章的初衷。废话不说了&#xff0c;直接进入正题。 数据是网上找到的销售数据&#xff0c;长这样&#xff1a; 一、关联公式:…

第十四届蓝桥杯第三期模拟赛 【python】

第十四届蓝桥杯第三期模拟赛 【python】 文章目录第十四届蓝桥杯第三期模拟赛 【python】✨最小的十六进制&#xff08;python的16进制&#xff09;❓️问题描述答案提交&#x1f9e0;思路&#x1f5a5;︎参考答案✨Excel的列&#xff08;进制转化&#xff09;❓️问题描述答案…

Java学习笔记 --- Tomcat

一、JavaWeb 的概念 JavaWeb 是指&#xff0c;所有通过 Java 语言编写可以通过浏览器访问的程序的总称&#xff0c;叫 JavaWeb。 JavaWeb是基于请求和响应来开发的。请求是指客户端给服务器发送数据&#xff0c;叫请求 Request。 响应是指服务器给客户端回传数据&#xff0c;叫…

【Pytorch】AutoGrad个人理解

前提知识&#xff1a;[Pytorch] 前向传播和反向传播示例_友人小A的博客-CSDN博客 目录 简介 叶子节点 Tensor AutoGrad Functions 简介 torch.autograd是PyTorch的自动微分引擎&#xff08;自动求导&#xff09;&#xff0c;为神经网络训练提供动力。torch.autograd需要对…

线性表的合并

线性表的应用 线性表的合并 问题描述&#xff1a; 假设利用两个线性表La和Lb表示两个集合A和B&#xff0c;现要求一个新的集合AA∪B 即&#xff1a; La(7,5,3,11) Lb(2,6,3) A(7,8,3,11,2,6) 算法步骤&#xff08;A既是参数&#xff0c;也是操作的结果&#xff09; 依次…

全志V853芯片 Tina Linux下网络ADB内存泄露如何修复?

1.主题 Tina Linux 网络ADB内存泄露修复 2.问题背景 硬件&#xff1a;V853 软件&#xff1a;Tina4.0 Linux-4.9 背景&#xff1a;使用网络adb时&#xff0c;反复connect disconnect&#xff0c;会发生内存泄露的问题。 3.问题描述 3.1复现步骤 1、首先使能网络ADB功能。 …

Async注解使用和CompletableFuture注解获取返回值

举栗个现实问题&#xff1a; 需求&#xff1a;拉取 业务数据不能超过 5秒。 拉取第三方数据 &#xff0c;分别需要拉取 A业务数据&#xff08;需要2秒&#xff09; 、拉取 B业务数据&#xff08;需要2秒&#xff09;、拉取 C业务数据&#xff08;需要2秒&#xff09; &#xff…

模电学习11 运算放大器学习入门

一、基本概念 运算放大器简称运放&#xff0c;是一种模拟电路实现的集成电路&#xff0c;可以对信号进行很高倍数的放大。一般有正相输入端、反相输入端、输出端口、正电源、负电源等接口。 运放可工作在饱和区、放大区&#xff0c;其中放大区极其陡峭&#xff0c;因为运放的放…

【深度学习】BERT变体—SpanBERT

SpanBERT出自Facebook&#xff0c;就是在BERT的基础上&#xff0c;针对预测spans of text的任务&#xff0c;在预训练阶段做了特定的优化&#xff0c;它可以用于span-based pretraining。这里的Span翻译为“片段”&#xff0c;表示一片连续的单词。SpanBERT最常用于需要预测文本…