mysql的JDBC

MYSQL的JDBC

流程:

  1. 注册和加载驱动(可以省略)(导入mysql的jdbc的驱动库)(Class.forName(“com.mysql.jdbc.Driver”);)

  2. 获取连接

  3. Connection 获取 Statement 对象

  4. 使用 Statement 对象执行 SQL 语句

  5. 返回结果集

  6. 释放资源

DriverManager

静态方法描述
Connection getConnection(String url, String user, String password)通过连接字符串、用户名和密码获取数据库连接对象
Connection getConnection(String url, Properties info)通过连接字符串和属性对象获取连接对象

Conection接口

Connection 作用:
Connection 接口,具体的实现类由数据库的厂商实现,代表一个连接对象。

Statement 作用:

代表一条语句对象,用于发送 SQL 语句给服务器,用于执行静态 SQL 语句并返回它所生成结果的对象。

方法描述
int executeUpdate(String sql)用于发送DML语句(增删改操作,如insert、update、delete),参数为SQL语句,返回值为对数据库影响的行数
ResultSet executeQuery(String sql)用于发送DQL语句(执行查询操作,如select),参数为SQL语句,返回值为查询的结果集

释放资源

ResultSet结果集:在使用完ResultSet后,需要调用其close()方法来释放资源。这是因为ResultSet对象通常会占用较多的资源(如数据库连接),及时释放可以避免资源泄漏和内存占用过高。

ResultSet rs = statement.executeQuery(“SELECT * FROM table_name”);
// 使用ResultSet
rs.close(); // 释放ResultSet资源
Statement语句:对于Statement对象,同样需要调用其close()方法来释放资源。Statement对象代表了一个已经编译过的SQL语句,执行完SQL后应当立即释放资源,以便释放相关的数据库和JDBC资源。

PreparedStatement 是 Statement 接口的子接口,继承于父接口中所有的方法。它是一个预编译的 SQL 语句
stament每次都会被数据库编译,而用preparestatement只需要编译一次,只将参数传入。
没有sql注入风险。

Statement statement = connection.createStatement();
// 使用Statement执行SQL操作
statement.close(); // 释放Statement资源
Connection连接:最后,在完成与数据库的交互后,也需要及时释放Connection连接资源。确保在不再需要连接时及时关闭,以便释放数据库连接池和其他资源,并防止资源泄露。

Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/db_name”, “username”, “password”);
// 使用Connection执行数据库操作
connection.close(); // 释放Connection资源

session和连接和事务的关系

一个session(会话)执行一个事务,每个连接可以创建多个会话,每个会话可以执行其自己的SQL语句,并且可以管理自己的事务。
一个session会从connectiont池子里取一个connection,使用完后再放回。

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

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

相关文章

GPT-4o 免费开放!体验 AI 对话的无限可能!手把手教你普通用户如何切换到4o版本使用!

大家好,我是影子。今天一觉醒来,发现朋友圈传开了GPT-4o可以免费使用了。 相信大家都使用过GPT-3.5的版本,但是无论是智能程度还是联网查询等一些需求都无法给我们实现,这不,4o的出现直接解决了这些问题。 下面影子将…

ROS2 - 创建项目 (Ubuntu22.04)

本文简述:在 Ubuntu22.04 系统中使用 VS CODE 来搭建一个ROS2开发项目。 1. 创建工作空间 本文使用 Ubuntu 22.04, 已安装配置完成 VS Code,C 环境(g/gdb) 1.1 创建目录 选择文件夹作为工作空间,并在这…

空号检测接口如何对接?

手机运营商空号检测接口又叫空号过滤查询接口、手机号状态检测查询接口,指的是输入手机号,查询其在网活跃度,返回包括空号、实号、停机、库无、沉默号、风险号等状态。那么运营商空号检测接口如何对接呢? 首先我们找到一家有手机…

vb6 ado连接数据库 oledb Microsoft OLE DB Provider for SQL Server 连接字符串

SQL Server 2000 标准安全 Providersqloledb;Data SourcemyServerAddress;Initial CatalogmyDataBase;User IdmyUsername;PasswordmyPassword; SQL Server 2000SQL服务器7.0 可信连接 Providersqloledb;Data SourcemyServerAddress;Initial CatalogmyDataBase;Integrated Secur…

排序-冒泡排序(bubble sort)

冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成…

Weblogic 任意文件上传漏洞(CVE-2018-2894)

1 漏洞描述 CVE-2018-2894漏洞存在于Oracle WebLogic Server的Web服务测试页面(Web Service Test Page)中。这个页面允许用户测试Web服务的功能,但在某些版本中,它包含了一个未经授权的文件上传功能。攻击者可以利用这个漏洞&…

数据特征降维 | 主成分分析(PCA)附Python代码

主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维技术和探索性数据分析方法,用于从高维数据中提取出最重要的特征并进行可视化。 PCA的基本思想是通过线性变换将原始数据投影到新的坐标系上,使得投影后的数据具有最大的方差。这些新的坐标轴称为主成分…

苹果cms:搜索功能的开关与设置

今天有个小伙伴问了个关于苹果cms搜索的问题:直接搜演员搜索不到影片信息(如下图) 1、我们拿演员王宝强为例:搜索王宝强后结果显示无相关视频 2、但是我们搜索王宝强主演的“大闹天竺”后却能得到关于王宝强的影片信息。这是为什…

springboot以tomcat方式启动后报错

使用idea启动tomcat时,报错。将程序打包到linux后,仍报相同错误。 错误如下: 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 严重[localhost] org.apache.catalina.core.StandardContext.startInternal 由于之前的…

代理模式的理解

文章目录 前言一、代理模式的定义和优、缺点定义优点缺点 二、代码演示案例1.静态代理2.JDK动态代理3.CGLIB动态代理 总结 前言 代理模式常见的使用场景包括: 需要对对象的访问进行控制或限制的情况。 需要在访问对象时执行额外的操作,例如记录日志、收…

内啡肽的产生

内啡肽的产生 短视频、直播和游戏等娱乐活动可以刺激多巴胺分泌,让人感到兴奋和愉悦。这些短暂的快乐却会让我们逐渐上瘾,难以自拔。不知不觉中,我们忽略了时间的流逝,满足于现状,失去了追求更高目标的动力。 越是富…

跨ROS系统通信:使用TCP实现节点间的直连

当涉及到在机器人操作系统(ROS)环境中的通信时,标准做法通常是在同一个ROS网络内通过话题和服务进行。但在某些特定情况下,比如当你有两个分布在不同网络中的ROS系统时,标准的通信方法可能不太适用。此时,一…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第21课-购买烟花插件

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第21课-购买烟花插件 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎…

OpenAI 5月13日推出的ChatGPT4o模型带来了什么新东西及我们需要注意什么

前言 OpenAI再次发布了新一代模型,可惜不是GPT5,发布会很长,所以我尝试看了一些自媒体对发布会做的总结视频,但是我发现这些自媒体制作的视频普遍很“营销号”味且总结的不全面,所以我看了发布会并尝试做了总结。 正…

OmniDrive:具有 3D 感知推理和规划功能的自动驾驶整体 LLM-智体框架

24年5月北理工、Nvidia和华中科大的论文“OmniDrive:A Holistic LLM-Agent Framework for Autonomous Driving with 3D Perception Reasoning and Planning”。 多模态大语言模型(MLLMs)的进展导致了对基于LLM的自动驾驶的兴趣不断增长&…

软件各阶段资料(需求设计,系统架构,开发文档,测试文档,运维阶段的部署维护文档,概要设计,详细设计)

一、 引言 (一) 编写目的 (二) 范围 (三) 文档约定 (四) 术语 二、 项目概要 (一) 建设背景 (二) 建设目标 (三&#xff0…

解决Jmeter报错 :Error generating the report: java.lang.NullPointerException

当我们在使用命令行的方式来执行jmeter 脚本的时候,例如 ./jmeter -n -t /opt/jmeter/script/test.jmx -Juser50 -Jtime100 -l /opt/jmeter/script/restult2.jtl 上面脚本的含义解释如下: -n -t 通过命令行的方式执行脚本test.jmx -Juser50 并发用户…

【贪心的商人】-华为OD

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法,所以会发布自己的解题思路,希望大家多指教 一、题目描述 商人经营一家店铺,有number种商品,由…

一次完整的GC流程

Java堆中内存区分 Java的堆由新生代(Young Generation)和老年代(Old Generation)组成。新生代存放新分配的对象,老年代存放长期存在的对象。 新生代(Young)由年轻区(Eden&a…

亚马逊卖家,如何打造爆款,如何提高产品权重、曝光、流量?

新老卖家们要知道,亚马逊A9算法影响产品排名的关键因素:产品相关性、销售排名、产品价格、点击率、转化率、产品图片、买家评论、买家满意度、QA的答复情况、搜索结果页详细信息级别。亚马逊A9算法,是根据卖家提供的listing文案信息进行收录、…