JDBC的概念

一.JDBC概念:


其实JDBC就像是翻译官,就像是你去到国外是不是听不懂当地人再讲什么?Java就相当于是你,数据库就是本地人,然后JDBC就是那个翻译官,它提供了一套标准的方法和工具,让Java程序可以与各种不同类型的数据库进行交流,无论是MySQL、Oracle、SQL Server还是其他类型的数据库。它隐藏了与具体数据库相关的细节,使得Java程序员可以用相同的方式来访问不同的数据库,而不需要去关心底层数据库的具体实现。通过JDBC,Java程序可以执行诸如连接数据库、发送SQL查询、获取查询结果等操作。它为Java程序提供了一个简单、灵活且可靠的方式来与数据库进行交互,从而实现数据的存储、检索和处理。

二.JDBC好处:


①各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发。
②可随时替换底层数据库,访问数据库的Java代码基本不变。

三.JDBC步骤:

1.注册驱动:

Class.forName("com.mysql.cj.jdbc.Driver");
注意:"com.mysql.cj.jdbc.Driver"是MySQL 8.0及以上版本的驱动类名。如果你使用的是旧版本的MySQL驱动,可能是"com.mysql.jdbc.Driver"。
2.获取连接:
Connection conn = DriverManager.getConnection(url, username, password);
3.定义SQL语句:
String sql = "UPDATE table_name SET column1 = value1 WHERE condition;";
这里需要将"UPDATE table_name SET column1 = value1 WHERE condition;"替换为你要执行的实际SQL语句。
3.
①获取执行SQL的对象:
Statement stmt = conn.createStatement();
②执行SQL:
stmt.executeUpdate(sql);
executeUpdate()方法用于执行INSERT、UPDATE或DELETE等操作。
4.处理返回结果:
// 对于UPDATE、INSERT或DELETE操作,通常不需要显式处理返回结果。
但如果需要处理查询结果,可以通过ResultSet对象来获取返回的数据。
5.释放资源:
stmt.close();
conn.close();

四.DriverManager(驱动管理类)作用:


①注册驱动
②获取数据库连接池

五.Connection(数据库连接对象)作用:

1.获取执行SQL的对象。2.管理事务。

Connection:获取执行SQL对象:

1.普通执行SQL对象:Statement  createStatement()

2.预编译SQL的执行SQL对象:防止SQL注入:PreparedStatement  PreparedStatement(sql)  

3.执行存储过程的对象:CallableStatement prepareCall(sql)

六.

ResultSet:executeQuery(sql):执行DQL语句    返回值:ResultSet结果集对象。

七.

Statement:1.执行SQL语句: int executeUpdate(sql):执行DML,DDL语句     返回值:1.DML语句影响的行数。

2.DDL语句执行后,执行成功也可能返回0

八.ResulySet:使用步骤:

1.游标向下移动一行,并哦按段改行是否有数据:next()   2.获取数据:getXxx(参数)                 //该循环判断游标是否最后一行结尾:while(rs.next(){          //2.获取数据  rs.getXxx(参数);                                            

}

九.JDBC事务管理:

connection接口中定义了三个对应的方法:

1.开启事务:setAutoCommit(boolean autoCommit):true为自动提交事务,false为手动提交事务,即为开启事务。

2.提交事务:commit()3.回滚事务:rollback()

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

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

相关文章

HarmonyOS(鸿蒙)快速入门

一:下载开发工具 鸿蒙的开发工具叫DevEco 下载点击 其他部分都一直next 就行,这个页面出现的install 建议都点击install 然后单独选择安装目录 可能存在的问题 就是之前安装nodejs(比如自己开发web或者RN等情况)版本低 等情况 所以建议你单独安装一次 …

string的使用和模拟实现| 细致到strcpy ,strstr,strcmp都不放过

string的使用和模拟实现 string的成员变量string的构造方法用法无参的构造方法的实现全缺省的构造参数的实现 strcpy的模拟实现为什么这里的_size要1?为什么这里是默认传空字符串? 赋值运算符重载 析构函数遍历字符串operator[]使用传统c语言字符串下标遍历的缺点 …

【820复试】C语言题目错题

文章目录 1.若有代码段2.有以下语句定义3.算式 3<<2|3 的结果是&#xff08;&#xff09;——15 【重要】4.下面有关C的类和C里面的struct的描述&#xff0c;正确的有&#xff1f; ABCD5.以下叙述中正确的是&#xff08;&#xff09; D6.若有定义&#xff1a;char s\[3][…

【Linux系统编程】进程程序替换

介绍&#xff1a; 进程程序替换是指将一个进程中正在运行的程序替换为另一个全新的程序的过程&#xff0c;但替换不是创建新进程&#xff0c;只是将对应程序的代码和数据进行替换。具体来说&#xff0c;这个替换过程涉及将磁盘中的新程序加载到内存结构中&#xff0c;并重新建立…

防火墙常用功能配置

防火墙&#xff1a;为了限制不同区域之间的流量通信。默认有一条拒绝所有的策略。 现在的防火墙主要作用&#xff1a;是区域隔离和访问控制。 安全防护是核心特性 路由器&#xff1a;ACL列表&#xff0c;控制流量 入侵防御&#xff1a;网络攻击 文件过滤&#xff0c;内容过滤&…

登高作业安全绳佩戴识别系统---豌豆云

登高作业安全绳佩戴识别系统基于AI人工智能机器视觉分析识别技术&#xff0c;登高作业安全绳佩戴识别系统通过安装于现场的监控摄像头。 实时检测高空作业工作人员的安全绳佩戴情况。一旦系统检测到高空作业人员未佩戴安全绳或安全带&#xff0c;它会立即启动抓拍功能。 将违…

【数学】第十三届蓝桥杯省赛C++ A组/研究生组《爬树的甲壳虫》(C++)

【题目描述】 有一只甲壳虫想要爬上一棵高度为 n 的树&#xff0c;它一开始位于树根&#xff0c;高度为 0&#xff0c;当它尝试从高度 i−1 爬到高度为 i 的位置时有 Pi 的概率会掉回树根&#xff0c;求它从树根爬到树顶时&#xff0c;经过的时间的期望值是多少。 【输入格式…

电脑里的图片杂乱无章怎么办?使用汇帮批量重命名一键帮你解决 大量图片如何批量重命名?

当我们面临大量的图片需要重命名时&#xff0c;这无疑是一项繁琐而耗时的任务。然而&#xff0c;通过一些有效的方法和工具&#xff0c;我们可以使这个过程变得更加高效和轻松。以下介绍的这款汇帮批量重命名软件&#xff0c;能够帮助您有效地重命名大量的图片。 想要快速的进…

git checkout不同分支时,为啥会把当前分支的修改内容也带到新分支里面?

git checkout不同分支时&#xff0c;为啥会把当前分支的修改内容也带到新分支里面&#xff1f; 当你在Git中从一个分支切换到另一个分支时&#xff0c;如果没有先将当前分支未提交的改动暂存或提交&#xff0c;这些改动会被带到新分支。这是因为Git的工作目录是共享的&#xf…

【将一个数指定位上的数变为0,再求和】

判断数a的奇偶性&#xff0c;如果是奇数&#xff0c;则把数a中的偶数位全部改成0&#xff1b;如果是偶数&#xff0c;则把数a中的奇数位全部改成0 例如&#xff1a;12211是奇数&#xff0c;修改后就变成了10201&#xff1b;4212是偶数&#xff0c;修改后就变成了4010 现在给你…

C++容器适配器与stack,queue,priority_queue(优先级队列)的实现以及仿函数(函数对象)与deque的简单介绍

&#x1f389;个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名乐于分享在学习道路上收获的大二在校生 &#x1f648;个人主页&#x1f389;&#xff1a;GOTXX &#x1f43c;个人WeChat&#xff1a;ILXOXVJE &#x1f43c;本文由GOTXX原创&#xff0c;首发CSDN&…

【玩转AI绘画】有奖活动火热进行中,参与赢取耳机键盘等好礼!

AI 绘画发展迅猛&#xff0c;各种创新插件如 animatediff、instantid、controlnet 、roop 等遍地开花&#xff0c;极大地激发了 StableDiffusion 的应用潜力。AI 绘画的使用场景不断扩展&#xff0c;如 AI 视频制作、Q 版头像生成、老照片修复、照片高清化等。腾讯云高性能应用…

【OceanBase诊断调优】—— 敏捷诊断工具obdiag一键分析OB集群日志设计与实践

最近总结一些诊断OCeanBase的一些经验&#xff0c;出一个【OceanBase诊断调优】专题&#xff0c;也欢迎大家贡献自己的诊断OceanBase的方法。 1. 前言 obdiag定位为OceanBase敏捷诊断工具。1.2版本的obdiag支持诊断信息的一键收集&#xff0c;光有收集信息的能力&#xff0c;…

【nnUNetv2实践】一、nnUNetv2安装

nnUNet是一个自适应的深度学习框架&#xff0c;专为医学图像分割任务设计。以下是关于nnUNet的详细解释和特点&#xff1a; 自适应框架&#xff1a;nnUNet能够根据具体的医学图像分割任务自动调整模型结构、训练参数等&#xff0c;从而避免了繁琐的手工调参过程。自动化流程&am…

提升地理空间分析效率,火山引擎ByteHouse上线GIS能力

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 在数字化时代&#xff0c;地理空间分析&#xff08;Geospatial Analytics&#xff09;成为辅助企业市场策略洞察的重要手段。无论是广告投放的精准定位&#xff0c;…

Leetcode 1. 两数之和

心路历程&#xff1a; 很简单的题&#xff0c;双层暴力就可以&#xff0c;用双指针的话快一点。暴力时间复杂度O( n 2 n^2 n2)&#xff0c;双指针时间复杂度O(nlogn) O(n) O(n) O(nlogn)。 注意的点&#xff1a; 1、题目需要返回原数组的索引&#xff0c;所以排序后还需要…

豆瓣电影信息爬取与可视化分析

目录 一、项目背景 二、代码 三、总结 一、项目背景 &#xff08;1&#xff09;利用requests库采集豆瓣网分类排行榜 (“https://movie.douban.com/chart”)中各分类类别前100部电影的相关信息并存储为csv文件。 &#xff08;2&#xff09;利用获取的13个分类类别共1300部电…

远程调用初体验笔记

远程调用初体验笔记 微服务架构通常将系统拆分成多个独立的服务单元&#xff0c;每个服务单元都专注于实现特定的业务功能。当一个服务需要使用另一个服务提供的功能时&#xff0c;就可以通过远程调用来实现。 使用步骤 1.步骤 Spring给我们提供了一个RestTemplate工具&#…

一、Spring Boot 中集成 fastdfs文件上传

二、实现fastdfs文件上传与延迟删除功能的Spring Boot项目 目录 1、Spring Boot 版本2、 fastdfs 版本依赖3、增加配置文件4、创建FastDFS配置类&#xff0c;增加工具类6、 增加对外接口 1、Spring Boot 版本 <parent><groupId>org.springframework.boot</grou…

Linux:搭建ntp服务器

我准备两个centos7服务器 一个为主服务器连接着外网&#xff0c;并且搭建了ntp服务给其他主机同步 另外一个没有连接外网&#xff0c;通过第一台设备去同步时间 首先两个服务器都要安装ntp软件 yum -y install ntp 再把他俩的时间都改成别的 左侧的是主服务器&#xff0c;主…