JAVA连接数据库——JDBC的简单使用

news2024/10/2 10:30:02

JDBC即Java数据库连接.用来实现Java程序对数据库增删查改。

为了对接Java程序和数据库,java.sql提供了很多api包含在java.sql和javax.sql里面

结构:

DriverManager接口:

        每一个数据库的驱动程序都必须去到DriverManager注册,生成一个Connection

Connection接口:

        负责连接数据库并担任传送数据的任务

Statement接口:

        由Connection产生,负责执行SQL语句

ResultSet接口

        从数据源读取数据

第一步:下载JDBC驱动程序

        下载指定驱动程序:在下方网站中根据数据库版本下载对应的驱动程序

MySQL :: Download MySQL Connector/J (Archived Versions)
 

下载好驱动程序丢到程序的lib文件夹中并且右键点击lib添加为库,然后就会出现两个文件夹 

成品:

第二步

        加载驱动程序

        通过Class.forName("com.mysql.cj.jdbc.Driver"(JDBC驱动程序名)) 创建驱动程序的实例

其中forName需要手动抛出一个异常 

        这里mysql8.0以及以上版本需要在cj中找jdbc

第三步

        获取连接对象 :

getConnection是DriverManager类下的一个方法,里面有三个参数

url : jdbc(方式):mysql(数据库)://localhost:3306(端口号)/要连接的数据库名称

user :用户名

pwd : 密码

Connection connection=DriverManager.getConnection(url,user,pwd);

这里的getConnection和下面的executeUpdate以及最下面close语句都需要抛出同一个异常 

 第四步

        获取执行者对象

        Statement statement= connection.createStatement();

        将需要执行的静态sql语句以字符串的形式作为参数调用执行者的方法

 String sql="insert into number values('ypo','50','5')";
if(statement.executeUpdate(sql)>=1)
          {
              System.out.println("操作成功");
          }else{
              System.out.println("操作失败");
          }

如上述就是一个执行插入新元素的操作,其中executeUpdate用于进行增删改的操作,返回值是改方法的在数据库中的影响行数,小于1时说明数据库没有成功变化

在最后需要关闭和数据库的连接  

上述步骤就是实现在JAVA程序里面连接上本地数据库并进行添加新元素的操作

最后运行一次程序后在图里面最后一行能看见数据库中雀氏添加了新的元素

 

至于查询需要通过ResultSet接口来实现

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

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

相关文章

电商平台的促销活动如何抵御大流量的ddos攻击

每一次活动大促带来的迅猛流量,对技术人而言都是一次严峻考验。如果在活动期间遭受黑产恶意 DDoS 攻击,无疑是雪上加霜。电商的特性是业务常态下通常不会遭受大流量 DDoS 攻击,且对延迟敏感,因此只需要在活动期间按需使用 DDoS 防…

【第五章 AOP概述,底层原理,AOP术语,切入点表达式,AOP操作(基于注解方式,基于xml配置文件)】

第五章 AOP概述,底层原理,AOP术语,切入点表达式,AOP操作(基于注解方式,基于xml配置文件) 1.AOP概述: (1)什么是AOP: ①面向切面编程(…

11-KMP算法

KMP算法是一个字符串匹配算法,总的意义是在给定的字符串A中利用优化的方法快速地找出字符串B的位置,相比于传统匹配算法,它能有效减少匹配时间,提高效率。 前缀和后缀 在我们看KMP算法前我们先考虑一个问题:假如我们…

基于框架的平台总线式开发

一、总线、设备、驱动 硬编码式的驱动开发带来的问题: 1. 垃圾代码太多 2. 结构不清晰 3. 一些统一设备功能难以支持 4. 开发效率低下 1.1 初期解决思路:设备和驱动分离 struct device来表示一个具体设备,主要提供具体设备相关的资源&am…

Telnet 基础实验2: SSH 实验

Telnet 基础实验2: SSH 实验 本实验只能使用 eNSP中 AR 系统的路由器做 拓扑图 SSH : Secure Shell 是一个网络安全协议,基本于 TCP 协议 22 端口传输数据,通过对网络数据的加密,使其能够在一个不安全的网络环境中&a…

网易新财报:游戏养家,教育维稳、音乐快走

配图来自Canva可画 随着互联网流量红利逐渐消退,互联网大厂们也告别高增长时代,逐渐进入稳定增长阶段。近两年,流量焦虑、业务失速等问题更是成为了一团浓雾,笼罩在互联网大厂周围。不过,面对所遭遇的难题&#xff0c…

力扣-换座位

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:626. 换座位二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结前言 …

读书笔记——《富爸爸穷爸爸》

《富爸爸穷爸爸》,以前不屑读这种书。这种书就是那种走进书店放在门口展销位的成功学著作,一眼看上去没什么实在的内容,看上去很不靠谱,感觉就是骗一些社会底层又做着暴富梦的人来买的,但是由于自身原因或环境局限根本…

Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<二>---后端架构完善与接口开发

数据库准备&#xff1a; 在上一次Spring Boot Vue3 前后端分离 实战 wiki 知识库系统<一>---Spring Boot项目搭建已经将SpringBoot相关的配置环境给搭建好了&#xff0c;接下来则需要为咱们的项目创建一个数据库。 1、mysql的安装&#xff1a; 关于mysql的安装这里就…

【C语言每日一题】杨氏矩阵(源码以及改进源码)

【C语言每日一题】—— 杨氏矩阵&#x1f60e;&#x1f60e;&#x1f60e; 目录 &#x1f4a1;前言&#x1f31e;&#xff1a; &#x1f49b;杨氏矩阵题目&#x1f49b; &#x1f4aa; 解题思路的分享&#x1f4aa; &#x1f60a;题目源码的分享&#x1f60a; &#x1f4…

夜天之书 #73 Apache Pulsar 的社群指标

去年十一月&#xff0c;我成为了 Apache Pulsar[1] 社群 Committers 的一员。成为 Committer 之前和之后&#xff0c;我都积极参与了代码仓库上 Issue 和 Pull Request (PR) 的处理回应和评审。去年十二月期间&#xff0c;我把未解决的 Issue 和 PR 数量分别从接近 2000 个和 4…

STM32学习笔记-I2C通信协议

文章目录介绍&#xff1a;两种实现方式&#xff1a;I2C设备的常用连接方式&#xff1a;I2C协议时序&#xff1a;STM32硬件I2C框架图I2C外设通讯过程**I2C读写EEPROM**&#xff08;硬件I2C&#xff09;介绍&#xff1a; 两根通信线SCL&#xff08;时钟线&#xff09;、SDA&#…

C语言中的强制类型转换

强制类型转换是把变量从一种类型转换为另一种数据类型。例如&#xff0c;如果您想存储一个 long 类型的值到一个简单的整型中&#xff0c;您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型&#xff0c;如下所示&am…

“ChatGPT之父”Sam Altman:如何成功?

背靠微软&#xff0c;OpenAI能拳打谷歌&#xff0c;脚踢Meta&#xff0c;它背后的男人&#xff0c;必然不简单。 让我们来看一看&#xff0c;Sam Altman是如何一步步成长为今天这个搅动全世界的男人。 山姆奥特曼&#xff08;Sam Altman&#xff09; 成长和创业经历 在YC创始…

代码随想录【Day27】| 39. 组合总和、40. 组合总和 II、131. 分割回文串

39. 组合总和 题目链接 题目描述&#xff1a; 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明&#xff1a; 所有数字&#xff08;包括 tar…

JavaScript 高级2 :构造函数和原型 d331702016e84f54b3594ae05e0eeac

JavaScript 高级2 &#xff1a;构造函数和原型 Date: January 16, 2023 Text: 构造函数和原型、继承、ES5中的新增方法 目标 能够使用构造函数创建对象 能够说出原型的作用 能够说出访问对象成员的规则 能够使用 ES5新增的一些方法 构造函数和原型 概述 在典型的 OOP 的…

MySQL之EXPLAIN

使用方法 查询结果分析 id&#xff1a;识别符 select_type&#xff1a;表示查询的类型 table&#xff1a;输出结果集的表 partitions&#xff1a;匹配的分区 type&#xff1a;表示表的连接类型 possible_keys&#xff1a;表示查询时&#xff0c;可能使用的索引 key&#xff1a…

jni-Demo-基于linux(c++ java)

跑一个jni 的最简单的Demo需要提前准备 VsCode 编译器、win10下&#xff0c;vscode中集成linux操作系统、c编译器&#xff08;gcc、g&#xff09;&#xff0c;java编译器&#xff08;jdk1.8&#xff09;参考&#xff1a;https://mangocool.com/1653030123842.htmlJniDemo类&…

【分享】灌溉制度设计小程序VB源代码

说明 根据作物需水特性和当地气候、土壤、农业技术及灌水技术等因素制定的灌水方案。主要内容包括灌水次数、灌水时间、灌水定额和灌溉定额。灌溉制度是规划、设计灌溉工程和进行灌区运行管理的基本资料&#xff0c;是编制和执行灌区用水计划的重要依据。 1—计划湿润土层允…

spring面试题总结

1、spring是什么&#xff1f; spring是一个轻量级IOC和AOP容器框架&#xff0c;是为Java应用程序提供基础性服务的一套框架&#xff0c;目的是用于简化企业应用的开发&#xff0c;开发者只需要关注业务需求即可&#xff1a; core container 容器组件 spring context&#xff0c…