Java用JDBC链接mysql

一、什么是JDBC:

       是Java平台上的标准数据库访问技术。它提供了一套API(应用程序编程接口),允许Java应用程序与各种类型的数据库进行交互,包括关系型数据库(如MySQL、Oracle、SQL Server等)和非关系型数据库(NoSQL)。JDBC为开发者提供了一个统一的接口、使得他们能够编写一次数据库代码,而无需针对不同数据库做特别修改就能在多种数据库系统上运行。

二、JDBC包括什么:

1. DriverManager:这是一个类,用于加载JDBC驱动程序并建立与数据库的连接。它提供了获取数据库连接的方法,如`getConnection()`。

2. Connection:这是一个接口,代表与数据库的连接。通过这个接口,你可以创建`Statement`、`PreparedStatement`或`CallableStatement`对象,这些对象用于执行SQL语句。

3. Statement:这是一个接口,用于发送SQL语句到数据库并接收结果。它有几种类型,包括:
   - `Statement`:用于执行简单的SQL语句。
   - `PreparedStatement`:用于执行预编译的SQL语句,可以防止SQL注入并提高性能。
   - `CallableStatement`:用于执行存储过程或函数调用。

4. ResultSet:这是一个接口,用于表示从数据库检索出来的结果集。你可以遍历这个结果集来获取查询结果的每一行数据。

5. SQLException:这是一个异常类,用于表示任何与数据库相关的错误。

 三、应用实例:

 1、查:

 public void cha() throws ClassNotFoundException, SQLException {//加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//获取链接Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/lianxi?useSSL=false&serverTimezone=UTC", "root", "123456");// System.out.println(root);//实现功能// String sql="select * from courses ";//创建将sql语句应用到数据库的对象// Statement statement = root.createStatement();//执行语句得到结果ResultSet resultSet = root.createStatement().executeQuery("select * from courses ");//通过next指向结果while(resultSet.next()){System.out.println(resultSet.getString("cno")+resultSet.getString("cname")+resultSet.getInt("tno"));}//关闭资源root.createStatement().close();root.close();}

核心代码讲解:

结果输出:

2、删:

  public void shanchu() throws ClassNotFoundException, SQLException {//加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//获取链接Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/lianxi?useSSL=false&serverTimezone=UTC", "root", "123456");//实现功能//执行语句得到结果int resultSet = root.createStatement().executeUpdate("DELETE FROM courses WHERE tno=555;");//通过next指向结果System.out.println(resultSet);//如果删除成功就显示为1//关闭资源root.createStatement().close();root.close();}
executeUpdate()是在除查找外用到的方法;

 

输出结果: 

这是删除失败的,成功的话为1

3、改 :

 public void update() throws ClassNotFoundException, SQLException {//加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//获取链接Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/lianxi?useSSL=false&serverTimezone=UTC", "root", "123456");//实现功能//执行语句得到结果int resultSet = root.createStatement().executeUpdate("UPDATE courses SET cno='7-654', cname='计算机编程',tno=452 WHERE cno='-647' ;");//通过next指向结果System.out.println(resultSet);//关闭资源root.createStatement().close();root.close();

输出结果: 

如果失败就为0

4、增: 

 public void insert() throws ClassNotFoundException, SQLException {//加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//获取链接Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/lianxi?useSSL=false&serverTimezone=UTC", "root", "123456");int resultSet = root.createStatement().executeUpdate("insert into courses value ('5-111','计算机',555)");//通过next指向结果System.out.println(resultSet);//关闭资源root.createStatement().close();root.close();}

结果输出: 

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

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

相关文章

【日记】艾尔登法环终于玩完了(348 字)

正文 昨天打了一天游戏。法环差不多通关了。最终 boss 艾尔登鼻涕虫实在打不过,两个人开挂打了。艾尔登之兽老是马拉松,这谁顶得住,追都追不上。据兄长说,这游戏大概还有 50%-60% 的内容没玩,不过就这样吧,…

解决VMware虚拟机在桥接模式下无法上网的问题

解决VMware虚拟机在桥接模式下无法上网的问题 windows11系统自动启动了热点功能,开启热点可能会干扰虚拟机的桥接设置。 方法一:windows11可以提供网络热点服务 方法二:手动指定桥接的物理网卡 方法一:关闭热点功能 优点&#xff…

MYSQL 四、mysql进阶 10(数据库其它调优策略)

一、数据库调优的措施 1.1 调优的目标 尽可能节省系统资源 ,以便系统可以提供更大负荷的服务。(吞吐量更大)合理的结构设计和参数调整,以提高用户操作响应的速度 。(响应速度更快)减少系统的瓶颈&#xff…

13 循环神经网络—序列模型,语言模型

目录 1.序列模型序列数据统计工具自回归模型马尔可夫模型因果关系前向算法举例(根据过去的事件推测未来的事件)方案 A -马尔科夫假设方案 B -潜变量模型总结代码实现 使用马尔科夫假设 训练一个MLP2.文本预处理常见的文本预处理步骤代码实现3.语言模型**使用计数来建模**N 元…

VUE前端HTML静默打印(不弹出打印对话框)PDF简单方案

前言 在做打印功能的时候,以前大部分客户端都是用C#做的,静默打印(也就是不弹出打印对话框)比较简单。 但是使用浏览器作为客户端,静默打印(也就是不弹出打印对话框)做起来就比较困难。困难的…

29.【C语言】自定义函数

1、自定义详解 *提示&#xff1a;先看第12,19篇 例&#xff1a;写一个程序交换两个变量的值 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void swap(int x, int y) {int z 0;z x;x y;y z; } int main() {int a 10;int b 20;swap(a, b);printf("%d…

让AI语言模型自由飞翔:LangChain框架的奇妙世界

今天&#xff0c;我将为大家揭开一项令人激动的技术——LangChain。想象一下&#xff0c;如果能将人工智能的强大能力与我们日常使用的数据和工具无缝连接&#xff0c;那将开启怎样崭新且无限的可能&#xff01; LangChain&#xff0c;一个专为大型语言模型设计的框架&#xf…

TG创建小程序交互APP登录以及机器人信息

1、搜索 BotFather &#xff0c;输入命令 /newbot 创建机器人。 2、修改机器人信息 /mybots 编辑名称 : 修改机器人名称 编辑关于: 修改关于 hayden yyds&#xff0c;修改以后打开机器人会出现在下图 编辑描述 : 机器人的描述 编辑描述图片 : 机器人的图片 编辑 Botpic…

瑞幸私域运营案例拆解

1. 私域运营概述 私域运营是一种以用户为中心的运营模式&#xff0c;通过建立和维护与用户之间的直接联系&#xff0c;实现品牌与用户之间的深度互动和长期价值挖掘。 1.1 私域流量定义 私域流量指的是企业通过自有渠道&#xff0c;如微信公众号、小程序、社群等&#xff0c…

【通信协议-RTCM】MSM语句(1) - 多信号GNSS观测数据消息格式

注释&#xff1a; RTCM响应消息1020为GLONASS星历信息&#xff0c;暂不介绍&#xff0c;前公司暂未研发RTCM消息类型版本的DR/RTK模块&#xff0c;DR/RTK模块仅NMEA消息类型使用 注释&#xff1a; 公司使用的多信号语句类型为MSM4&MSM7&#xff0c;也应该是运用最广泛的语句…

暑期备考2024上海初中生古诗文大会:单选题真题和独家解析

现在距离2024年初中生古诗文大会初选还有不到4个月&#xff08;11月3日正式开赛&#xff09;&#xff0c;我们继续来看10道选择题真题和详细解析。为帮助孩子自测和练习&#xff0c;题目的答案和解析统一附后。 本专题持续分享。 一、上海初中古诗文大会历年真题精选(参考答案…

探索IP形象设计:快速掌握设计要点

随着市场竞争的加剧&#xff0c;越来越多的企业开始关注品牌形象的塑造和推广。在品牌形象中&#xff0c;知识产权形象设计是非常重要的方面。在智能和互联网的趋势下&#xff0c;未来的知识产权形象设计可能会更加关注数字和社交网络。通过数字技术和社交媒体平台&#xff0c;…

等保测评是什么 怎么做

在信息安全日益受到重视的今天&#xff0c;等保测评已成为企事业单位不可或缺的安全合规活动。然而&#xff0c;对于等保测评的理解和实施&#xff0c;仍存在诸多误区。本文将对等保测评的周期、法律责任、网络环境、测评对象、费用及常见误区进行深入解析&#xff0c;以期帮助…

源码安装zabbix5.0.36完整版

源码安装zabbix5.0.36完整版 环境&#xff1a;CentOS Linux release 7.9&#xff0c;cpu:16&#xff0c;mem:32G软件包如下&#xff1a; zabbix-5.0.36.tar.gz mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar.xz nginx-1.6.2.tar.gz 1. 配置前准备 systemctl stop firewa…

[MySQL][表的增删查改][二][Retrieve][SELECT][WHERE]详细讲解

目录 1.Retrieve1.基本语法2.SELECT列1.全列查询2.查询字段为表达式3.为查询结果指定别名4.结果去重 3.WHERE条件1.比较运算符2.逻辑运算符3.示例 4.结果排序1.基本语法2.示例 5.筛选分页结果 1.Retrieve 1.基本语法 SELECT [DISTINCT] * | {column [, column] ...} [FROM ta…

基于pytesseract的OCR图片识别

简介 pytesseract是基于谷歌的tesseract的OCR包&#xff0c;支持识别一些简单的数字、字母、中文。 安装 安装引擎 下载地址&#xff1a;https://digi.bib.uni-mannheim.de/tesseract/ 一般是Windows 64位系统最新版&#xff1a; 如果要识别中文&#xff0c;注意选中中文…

【微服务】Spring Cloud Config解决的问题和案例

文章目录 强烈推荐引言解决问题1. 配置管理的集中化2. 配置的版本控制3. 环境特定配置4. 配置的动态刷新5. 安全管理敏感数据6. 配置的一致性 组件1. **配置服务器&#xff08;Config Server&#xff09;**2. **配置客户端&#xff08;Config Client&#xff09;** 配置示例配置…

十一、(正点原子)Linux异步通知

一、简介 我们首先来回顾一下“中断”&#xff0c;中断是处理器提供的一种异步机制&#xff0c;我们配置好中断以后就可以让处理器去处理其他的事情了&#xff0c;当中断发生以后会触发我们事先设置好的中断服务函数&#xff0c;在中断服务函数中做具体的处理。 Linux …

JVM常见知识点总结

最近在看关于JVM的一些知识点&#xff0c;之前也有了解过&#xff0c;可是时间一长就总会忘&#xff0c;索性按照自己的记忆方式去回顾一下知识点。 首先&#xff0c;jvm是Java程序运行的环境&#xff0c;全称为Java Virtual Machine 当我们写好的Java文件经过javac编译后就变成…

Java SE—基本数据类型(详细讲解)

&#x1f4dd;个人主页&#x1f339;&#xff1a;誓则盟约 ⏩收录专栏⏪&#xff1a;Java SE &#x1f921;往期回顾&#x1f921;&#xff1a;Python 神器&#xff1a;wxauto 库——解锁微信自动化的无限可能 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f3…