【Java开发基础】intellij IDEA快速配置JDBC驱动连接MySQL数据库并查询数据,其实真的很简单,我5分钟就学会了!

news2024/12/25 12:17:55

🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享博主
🐋 希望大家多多支持一下, 我们一起学习和进步!😄
🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注

前提条件

今天我们来讲一下如何在intellij IDEA中快速配置JDBC并且查询出MySQL中表的数据!

这里有一个前提条件,就是你必须先自己安装好MySQL或者安装一个WAMP环境,并且配置好JDK开发环境!

并且也提前安装好了intellij IDEA开发工具,如果你没有这款IDE,那么你懂的,相信你知道找谁去要,嘿嘿嘿

初学者建议可以安装一个Navicat for MySQL数据库管理工具!

做好这些准备工作之后,我们就可以开始进行配置了!

intellij IDEA新建项目

首先我们从零开始在intellij IDEA当中来新建一个简单的java项目

点击new Project

如图

因为我们提前配置好了JDK,所以这里我们直接点击NEXT(下一步)

如图

这里也是一样,直接点击NEXT(下一步)

如图

这里我在Project name:定义一个项目名称

那么后面Project location定义项目的保存路径

注意: 这里Project location如果为好更好的区别多个项目,建议再加一个和项目同名的目录名称即可!

如图

这个时候会提示你没有这个目录文件夹的情况下,会自动新建!

如图

最后创建完成!

然后我们来测试一下,输出一个简单的Hello world

首先我们在src右键,选择new--->package

如图

然后取一个名称!

这里是有一定的命名规范的!~

Java中,package命名规范如下:

包名全部小写,一般来说,包的格式为:com.包名(小写).包的作用(小写)
例如:com.helloworld.sayhello,这种包的命名格式创建的是“多级包”,相当于是在文件目录中,com文件夹中有一个helloworld文件夹,helloworld文件夹里面有一个sayhello文件夹这个意思!

类名命名,推荐使用大驼峰命名形式,即单词的首字母大写,例如HelloWorld。
如果类名名称由多个单词组成,则每个单词的首字母均应为大写,如果所写词中包含单词缩写,则这个缩写词的每个字母均应大写。 注意:Java源文件名必须和源文件中所定义的类的类名相同

所以这里我们简单的命名一个com.output

如图

最后创建package就创建好了!

如图

这里特别说明一下,是否需要在IntelliJ IDEA中创建一个package取决于我们的项目规模需求

创建package是为了提高代码的组织性和可维护性,package可以帮助我们将相关的类和文件组织在一起,并且可以更好地管理代码而已!

如果我们正在开发一个较大的项目,或者需要在多个文件中共享一些类,那么创建一个package可能是很有用的。这样可以使得代码更加清晰,易于维护和更新。

如果是正在开发一个较小的项目,或者只需要创建少量的类,那么创建一个package可能不是必需的,在这种情况下,我们完全可以将相关的文件直接放在默认的项目目录下就可以了!

那么接着我们就在com.output包下面创建一个Test类来输出一个Hello world

com.output右键选择new--->Java Class

如图

然后命名为Test

如图

最后回车创建完成!

如图

Test类中 输入快捷命令psvm后回车 或者按Tab键快速自动生成min函数结构体

如图

然后在main中输入快捷命令sout后回车 或者按Tab键 快速建立输出命名!

并且输入Hello World

如图

最后我们找到菜单栏,上面的Run-->Run命令,执行然后选择Test类即可!

如图

效果如下

到这里我们测试新建intellij idea项目就完成了!

intellij IDEA配置JDBC驱动

我们在IntelliJ IDEA中配置 JDBC(Java Database Connectivity)主要是为了连接操作数据库用的!

这里我们还必须要有一个mysql-connector-j-8.1.0.jar的文件,

mysql-connector-j-8.1.0.jarMySQL Connector/J 8.1.0 版本的 JAR 文件,是一种官方提供的MySQL 数据库驱动程序,用于在 Java 应用程序中连接操作数据库。

mysql-connector-j-8.1.0.jar 包含了 Connector/J 的核心功能和类库,是Java应用程序连接MySQL数据库所必需的依赖项。

通过将该 JAR文件添加到项目的类路径中,Java应用程序可以访问 MySQL 数据库并执行SQL 查询、插入、更新等操作

所以我们首先要去官方下载这个mysql-connector-j-8.1.0.jar文件

下载mysql-connector-j-8.1.0.jar驱动文件

如果你没有 mysql-connector-j-8.1.0.jar 这个文件,你可以从官方网站下载

官方地址: https://dev.mysql.com/downloads/connector/j/

我这里是win10系统,所以我这里就选择Platform Independent(独立于平台)

如图

然后点击download即可下载

如图

如果弹出提示登录,直接点击No thanks, just start my download(直接下载)

如图

下载完成之后,会得到这样一个压缩文件

如图

将它解压,找到里面的mysql-connector-j-8.2.0.jar文件就可以了!

如图

配置导入驱动到intellij IDEA

我们将得到的mysql-connector-j-8.2.0.jar文件放到我们的intellij idea项目目录下来,方便管理

我这里就在项目中新建一个jar目录来存放jar文件

如图

然后我们就在项目中导入这个mysql-connector-j-8.2.0.jar驱动文件

选择菜单栏file-->Project Stucture 或者按下键盘上的快捷键:ctrl+alt+shift+s

如图

然后我们点击选择Dependencies(依赖项),然后点击下面的+号

如图

然后选择JARs or Directories..这一项

然后选择之前我们放置mysql-connector-j-8.2.0.jar的路径, 点击ok导入即可!

如图


以上我们给Intellij IDEA配置数据库驱动插件就完成了!

使用Navicat for MySQL建立表

这里我们可以用Navicat for MySQL来新建一个数据库test,并且也新建一张users表来做测试!

如图

代码编写

接下来我们就开始进行代码编写,来获取数据了!

首先我们把数据库连接的逻辑代码写好, 注意类文件和代码中的类名称大小写!

编写DataAccessObject类

这里我就在com.output包中新建一个名为DataAccessObject类

代码如下

package com.output;
import java.sql.*;

public class DataAccessObject {
    private Connection connection;

    public DataAccessObject() throws SQLException {
        String url = "jdbc:mysql://localhost:3306/test"; // 数据库名为test
        String username = "root"; // 假设用户名为 root
        String password = "root"; // 假设密码为 root

        //加载MySQL JDBC驱动程序
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
	    //开始连接
        connection = DriverManager.getConnection(url, username, password);
    }
	
    public void disconnect() throws SQLException {
        connection.close();
    }
	
    //执行SQL
    public ResultSet executeQuery(String query) throws SQLException {
        Statement statement = connection.createStatement();
        return statement.executeQuery(query);
    }
}

如图

编写Test类

这里我就以刚刚新建的Test类,来执行一个简单的SQL查询数据库中的数据!

Test类 代码如下

package com.output;
import java.sql.*;

public class Test {
    public static void main(String[] args) {
        try {
            //使用DataAccessObject类
            DataAccessObject dataAccessObject = new DataAccessObject();
            //SQL查询users表
            String query = "SELECT * FROM users";
            //执行SQL
            ResultSet resultSet = dataAccessObject.executeQuery(query);
            //循环遍历
            while (resultSet.next()) {
                // 根据需要获取数据
                String column1 = resultSet.getString("id");
                String column2 = resultSet.getString("username");
                String column3 = resultSet.getString("age");
                System.out.println(column1 + ", " + column2+","+column3);
            }
        } catch (SQLException e) {
            // 处理异常的代码,例如打印异常信息
            e.printStackTrace();
        }
    }
}

如图

然后我们来执行一下代码看看,结果如下:

如图

最后

怎么样是不是很简单啊,大家赶紧去试试看效果吧!

看到这里你就已经学会了使用java进行最基础的MySQL数据库查询了!

"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚

更多 好玩 好用 好看的干货教程可以 点击下方关注❤️ 微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

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

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

相关文章

多功能音乐沙漏的设计与实现

【摘要】随着当今社会快节奏生活的发展,当代大学生越来忽视时间管理的重要性,在原本计划只看几个视频只玩几个游戏的碎片化娱乐中耗费了大量的时光,对于自己原本的学习生活产生了巨大的影响。为更加有效的反映时间的流逝,特设计该…

canvas基础:绘制线段,绘制多边形

canvas实例应用100 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。 canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。 文章目录 使用…

TDA4开发环境Docker化

文章目录 背景1. TDA4X Linux SDK编译环境镜像构建1.1 安装SDK1.2 验证制卡1.2.1 出现的问题:1.3 验证编译1.3.1 出现的问题2. TDA4X Linux-RT SDK编译环境镜像构建2.1 安装SDK2.2 出现的问题参考背景 开始阅读本篇前,假设你已经对docker有了一定了解,且有过docker换件搭建…

优思学院|5S不只是清洁,但却离不开清洁!

很多说5S不止是清洁和搞卫生那么简单,相信有正规地学习过5S的人都应该深切了解。 不过,5S之中的确包括了清理、清洁的步骤,5S,也被称为“五常法则”或“五常法”,它包含了: 整理(SEIRI&#x…

8.统一异常处理 + 统一记录日志

目录 1.统一异常处理 2.统一记录日志 1.统一异常处理 在 HomeController 类中添加请求方法(服务器发生异常之后需要统一处理异常,记录日志,然后转到 500 页面,需要人工处理重定向到 500 页面,提前把 500 页面请求访问…

Containerd Container管理功能解析

Containerd Container管理功能解析 container是containerd的一个核心功能,用于创建和管理容器的基本信息。 本篇containerd版本为v1.7.9。 更多文章访问 https://www.cyisme.top 本文从ctr c create命令出发,分析containerd的容器及镜像管理相关功能。 …

01 项目架构

关于我 曾经就职于蚂蚁金服,多年的后端开发经验,对微服务、架构这块研究颇深,同时也是一名热衷于技术分享、拥抱开源技术的博主。 个人技术公众号:码猿技术专栏个人博客:www.java-family.cn 前期一直在更新《Spring…

什么是美颜sdk?视频直播美颜sdk技术深度剖析

美颜sdk可以通过实时处理图像,提升主播或用户在视频直播中的外观。通过美颜sdk接口调用可以轻松实现美颜效果。美颜sdk的核心目标是在保持图像真实性的同时,为用户创造出最理想的美化效果。 一、美颜sdk的技术实现 1.面部识别技术:美颜sdk…

虚拟直播在文旅行业火爆发展!背后的“生意经”你抓住了吗?

自疫情结束以来,文化和旅游行业恢复势头强劲,各大旅游景点消费活跃度持续攀升。在这种情况下,“直播文旅”模式的深度融合对文旅行业的客流导入起到了极大的带动作用。 不过,当前的文旅直播也出现了一些问题&#xf…

流媒体播放器EasyPlayer播放H.265与H.264时进度条样式异常该如何解决?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8&#…

北京 | 竹云与南方电网携手荣获“IDC 2023未来企业奖未来连接领导者”

11月22日-23日,2023第八届IDC中国数字化转型年度盛典在北京召开。本次大会以“竞放数字力量”为主题,汇聚超过1000位来自不同行业的大咖与伙伴共同参与此次盛会,从全球化视角出发,围绕本土化落地人工智能(大模型&#…

pytest系列——pytest_collection_modifyitems钩子函数修改测试用例执行顺序

前言 pytest默认执行用例是根据项目下的文件名称按ascii码去收集运行的;文件中的用例是从上往下按顺序执行的。 pytest_collection_modifyitems 这个函数顾名思义就是收集测试用例、改变用例的执行顺序的。 【严格意义上来说,我们在用例设计原则上用例…

NFTScan | 11.20~11.26 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2023.11.20~ 2023.11.26 NFT Hot News 01/ OKX Ordinals 市场 API 完成升级 11 月 21 日,OKX Ordinals 市场 API 现已完成升级,新增支持按币种单价查询、排序&…

TDA4VM EVM开发板调试笔记

文章目录 1. 前言2. 官网资料导读3. 安装 Linux SDK4. 制作SD 启动卡5. 验证启动1. 前言 TDA4作为一般经典的车规级SOC芯片,基于它的低阶智驾方案目前成为各家智驾方案公司的量产首选,这也使得基于TDA4的开发需求陡增,开发和使用TDA4既要熟悉Linux驱应用开发,还要熟悉传统…

uniapp基础-教程之HBuilderX配置篇-01

uniapp教程之HBuilderX配置篇-01 为什么要做这个教程的梳理,主要用于自己学习和总结,利于增加自己的积累和记忆。首先下载HBuilderX,并保证你的软件在C盘进行运行,最好使用英文或者拼音,这个操作是为了保证软件的稳定…

瑞芯微RK3588核心板在网络录像机产品中的应用与优势-迅为电子

你是否曾经想过,网络录像机是如何工作的?为什么它可以在没有电脑的情况下进行录像和监控?答案是,它依赖于RK3588核心板。那么,RK3588核心板到底在网络录像机产品中扮演着什么样的角色呢?它又具有哪些优势呢…

力扣:239. 滑动窗口最大值

题目&#xff1a; 给定一个数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 提示&#xff1a; 1 < nums.length < 10^5-10^4 < n…

使用UI Automation库用于UI自动化测试

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

NX二次开发UF_CURVE_ask_spline_data 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_spline_data Defined in: uf_curve.h int UF_CURVE_ask_spline_data(tag_t spline_tag, UF_CURVE_spline_p_t spline_data ) overview 概述 Reads the spline data a…

FreeRTOS-任务管理

目录 任务管理 创建任务 创建任务示例1&#xff1a;创建两个同等级的任务 创建任务示例2&#xff1a;使用任务参数 删除任务 删除任务示例&#xff1a;删除任务 挂起任务 任务优先级 优先级实验&#xff1a;修改优先级 Tick 延时函数 延时示例 空闲任务 钩子函数…