如何在IDEA上实现JDBC编程

news2024/11/17 1:50:03

💕人生在世,不如意事常八九,若把烦恼全都写在纸上,时间长了纸也会烦。所以,没事的时候给自己多一些微笑,少一些烦恼。💕
🐼作者:不能再留遗憾了🐼
🎆专栏:MySQL学习🎆
🚗本文章主要内容:在IDEA上如何搭建JDBC环境以及如何实现JDBC编程。🚗
在这里插入图片描述

前言

前面我们写MySQL的SQL命令的时候都是在MySQL的客户端写并且操作数据库的,那么今天我将为大家分享如何在IDEA上实现对MySQL数据库的操作。

什么是JDBC编程

JDBC编程是指使用Java Database Connectivity(JDBC,Java数据库连接)技术来连接和操作关系型数据库的过程。JDBC是一个标准的Java API,它定义了一套用于连接和操作各种关系型数据库的通用接口,使得Java程序可以访问和操作不同类型的数据库,如MySQL、Oracle、SQL Server等。

JDBC编程的原理

JDBC编程的原理是通过JDBC API来进行对关系型数据库进行操作。具体来说,JDBC提供了一系列接口和类,这些接口和类封装了所有数据库相关的细节,程序员只需要通过这些接口和类,以编程的方式操作数据库即可。

JDBC的主要工作流程如下:

1.加载数据库驱动程序:通过Class.forName()方法加载一个特定的数据库驱动程序,以便程序能够和相应的数据库进行连接。

2.连接到数据库:使用DriverManager.getConnection()方法以指定的数据库URL,用户名和密码为参数创建一个数据库连接对象,连接到数据库。

3.创建执行对象:使用已经建立的数据库连接对象创建一个Statement或者PreparedStatement对象,用于向数据库发送一条SQL语句进行执行。

4.执行SQL语句并处理结果集:通过对Statement或者PreparedStatement对象调用executeQuery() / executeUpdate()等方法发送SQL语句到数据库进行执行,在执行过程中如果有需要传递参数,则采用参数绑定的方式,最后获取执行结果的数据集(ResultSet)。

5.关闭连接:执行完SQL语句并处理完结果集之后,关闭相应的数据库连接对象,释放资源。

JDBC编程的优势

JDBC因其可移植性和易用性而被广泛使用,它可以大大简化Java程序和关系型数据库之间的交互,使得Java应用程序能够以编程的方式对关系型数据库进行增、删、改、查等操作。

如何在IDAE上搭建JDBC编程环境

第一步:在MAVEN官网上下载IDEA和SQL数据库建立联系的jar包。

  1. 访问MAVEN官网:MAVEN官网
    在这里插入图片描述
  2. 顶部导航栏搜索MySQL
    在这里插入图片描述
    在这里插入图片描述
  1. 下载 MySQL Connector Java

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二步:将我们下载的MySQL Connector Java 的jar包添加到IDEA的项目依赖中。

在这里插入图片描述

复制文件,并打开IDEA,新建一个Director文件
在这里插入图片描述
将刚下载的jar包复制在该Director文件中。
在这里插入图片描述
然后我们可以看到,该jar包已经被加载进去了。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
然后我们可以看到关于MySQL的各种操作
在这里插入图片描述

进行JDBC编程

JDBC需要以下步骤来完成开发
1.创建并初始化一个数据源
2.和数据库服务器建立连接
3.构造SQL语句
4.执行SQL语句
5.释放必要的资源

1.创建并初始化一个数据源

DataSource dataSource = new MysqlDataSource();
((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");
((MysqlDataSource)dataSource).setUser("root");
((MysqlDataSource)dataSource).setPassword("123456");

实现JDBC操作我们需要MysqlDataSource这个类型的对象。

url叫做唯一资源定位符,描述网络上的某个资源所在的位置。

"jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"

在这里插入图片描述
需要登陆我们的MySQL用户名和密码,MySQL用户名我么可以在MySQL客户端中使用下面的SQL语句查询,一般用户名默认都是root,密码就是你的MySQL密码。

SELECT * FROM MYSQL.USER;

在这里插入图片描述

2.和数据库服务器建立联系

Connection connection = dataSource.getConnection();

注意这里的Connection类要使用第一个,导入的包是不同的。
在这里插入图片描述

3.构造SQL语句

String sql = "insert into student values(1,'张三')";
PreparedStatement statement = connection.prepareStatement(sql);

sql是我们的SQL命令,而 PreparedStatement statement = connection.prepareStatement(sql); 是对SQL命令进行预编译,在这里为什么要对SQL语句进行预编译呢?

服务器对sql语句进行处理,如果sql语句过多,那么服务器的压力就会很大,让客户端来对sql语句进行预编译,服务器做的工作就简单点,压力就会减少。

4.执行SQL语句

int ret = statement.executeUpdate();
System.out.println(ret);

这个ret就是在这里插入图片描述

5.释放必要的资源

statement.close();
connection.close();

不同的时候我们就关闭资源,防止资源浪费。

运行我们的代码看看效果。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【备战秋招】每日一题:4月23日美团春招第二题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检,为了更好的阅读体检,,可以查看我的算法学习博客第二题-制作骰子 在线评测链接:P1246 题目内容 塔子哥是一个喜欢手工制作的人,他经常用各种材料制作一些有趣的物品。他最近想要制作一个骰子,但是…

Oracle11gRAC安装JVM组件

目录: 安装前检查:安装JVM组件:方式一(图形化安装)方式二(执行脚本安装) 检查DB JVM状态脚本 安装前检查: 检查角色: select * from dba_roles where ROLE in (JAVAIDP…

分布式安装配置spark-3.2.3

Spark是一个基于内存的大数据计算框架,可以与Hadoop集成,提供更快速的数据处理能力。本文将介绍如何在三个Ubuntu系统上搭建一个Spark集群。 主要步骤包括: 准备工作:下载安装包,设置环境变量,解压安装包…

基于Elasticsearch与Hbase组合框架的大数据搜索引擎

本项目为学校大数据工程实训项目,共开发4周,答辩成绩不错。代码仓库放文章尾,写的不好,代码仅供参考。 搜索 对于结构化数据,因为它们具有特定的结构,所以我们一般都是可以通过关系型数据库(M…

【读书笔记】《房思琪的初恋乐园》- 林奕含

文章目录 第一章 乐园第二章 失乐园 第一章 乐园 钱爷爷说:“两个小美女有心事啊?”怡婷最恨人家叫她们两个小美女,她很这种算术上的好心。 在外人看来,女生无论长得漂亮还是长得不怎么样都是一种原罪。或者正如上野千鹤子所说那样…

pocketgl

pocketgl支持在自己的web页面集成类似 Shadertoy、 Threejs 等基于webGL 的渲染图形窗口, 并且拥有shader代码高亮编辑器支持实时修改和预览。 其自带的mesh包含两个Sphere 和 Teaport, 同时支持上床自定义的网格 和 背景天空盒。其既支持像Shadertoy 这种只包含fra…

[元带你学: eMMC协议详解 13] 数据读(Read) 写(Write) 详解

依JEDEC eMMC 5.1及经验辛苦整理,付费内容,禁止转载。 所在专栏 《元带你学: eMMC协议详解》 内容摘要 全文 4700字, 主要内容 1. 数据读取 2. 块读取操作 3. 数据写 4.块写操作 参考 1. 数据读取 当没有数据传输时,DATO-D…

Python使用happybase写入HBase

HBase是一个分布式的、面向列的NoSQL数据库,可以存储大量的非结构化或半结构化的数据。tif是一种常见的影像文件格式,可以存储多波段的栅格数据。本文将介绍如何使用Python的happybase模块和gdal模块,从tif格式的影像文件中读取数据&#xff…

排序算法的奇妙冒险

排序算法的奇妙冒险 一.排序的概念1.1 排序的定义1.2 排序的稳定性1.3 排序的内排序和外排序 二.插入排序2.1 直接插入排序2.2 希尔排序 三.选择排序3.1直接选择排序3.2 堆排序 四.交换排序4.1 冒泡排序4.2 快速排序**选取基准值的方法**快速排序的优化非递归实现快速排序 五.归…

Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式

Web3到现在理论这段是说的有点太多了 那么 我们先来看个东西 叫 MetaMask 这个在我们项目开发过程中需要使用 其实 你如果去找MetaMask 可能会被一些关键字下到 可能会看到 虚假 诈骗等关键字 因为 这个东西本事就是一个开源的以太坊的一个钱包 那么 钱包肯定就是用来管理资产…

LoadDef python工具包学习一:计算love数

首先在github下载这个工具箱:https://github.com/hrmartens/LoadDef 下载完毕,解压缩进入如下的界面,点击进入working工作文件夹。在doc文件夹里面有帮助文档和教程,有需要的可以仔细阅读。 loaddef主要的功能模块包括&#xff1…

力扣日记1494

1. 题目 [LeetCode 1494. 并行课程 II]https://leetcode.cn/problems/parallel-courses-ii/) 1.1 题意 严格按照选课先修顺序选课,每个学期选课数有上限,求选完所有课程的最短学期数 1.2 分析 这道题的数据量很小,而且作为困难题&#xff…

一起学 WebGL:纹理对象学习

大家好,我是前端西瓜哥,今天我们来了解 WebGL 的纹理对象(Texture) 纹理对象,是将像素(texels)以数组方式传给 GPU 的对象,常见场景是贴图,就是将图片的数据应用到 3D 物…

vue 根据word摸板导出word文档,并压缩为zip

yarn add jszip3.10.1 yarn add jszip-utils0.1.0 yarn add pizzip3.1.4 yarn add docxtemplater3.29.5 yarn add docxtemplater-image-module-free1.1.1 yarn add file-saver2.0.5 注意:这里的fileUrl必须是绝对路径,否则可能会报 is not zip的错误&…

当pytest遇上poium会擦出什么火花

当pytest遇上poium会擦出什么火花 首先,创建一个test_sample/test_demo.py 文件,写入下面三行代码。 def test_bing(page):page.get("https://www.bing.com")assert page.get_title "必应"不要问题 page 从哪里来,打开…

(LLM) 的所有知识;10分钟了解向量数据库;微软 Bing 可以识别图片了;

🦉 AI新闻 🚀 微软 Bing 可以识图」了,吊打 GPT-4? 摘要:微软 Bing 最新识图功能让用户可以上传图片并进行编程、做题、看病等操作,还能分析梗图笑点。然而在某些情况下表现不佳,例如无法数清…

技术分享 | i.MX8M Plus开发板 固定IP地址以及单网口多IP设置

以启扬IMX8MP开发板为例,给大家分享固定IP地址以及单网口多IP设置的步骤流程。 固定IP地址设置 20-wired.network 重启Network生效 网口多ip设置 对于一些网络管理的命令 connman设置(参考) imx8 yocto系统的init system使用systemd&#xff…

精选Java SSM 框架基础面试题

一、Spring面试题 1、Spring 在ssm中起什么作用? Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:1、IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,se…

STM32 GPIO 详解

0. 实验平台 基于STM32F407ZG 1. GPIO 简介 1.1 简介 GPIO全称:General Purpose Input Output,即通用输入输出端口,一般用来采集外部器件的信息或者控制外部器件工作,即输入输出 1.2 STM32 的 GPIO 特点 不同型号&#xff0…

SpringBatch从入门到实战(五):执行上下文和单步骤重启

一:执行上下文 1.1 Job Context 作业上下文 JobContext 绑定 JobExecution 执行对象,为Job作业执行提供执行环境(上下文)。 1.2 Step Context 步骤上下文 StepContext 绑定 StepExecution 执行对象,为Step步骤执行提供执行环境(上下文)。 …