JDBC接口介绍之Statement

数据库系列- JDBC 的三种 Statement 是什么?它们有什么区别? 参数化的 SQL 语句可以让数据库区分哪些是数据,哪些是命令,从而避免被恶意篡改。上面的代码创建了一个 PreparedStatement 对象,然后调用了 setString 方法,为第一个参数赋值为 “Tom”,然后调用了 executeQuery 方法,执行预编译的 SQL 语句,返回了一个 ResultSet 对象。上面的代码创建了一个 Statement 对象,然后调用了 executeQuery 方法,传入了一个 SQL 查询语句,返回了一个 ResultSet 对象,表示查询结果集。 阅读详情

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

Statement:

1.介绍:对数据库数据一系列的操作依赖于SQL语句,而Statement接口是用来执行SQL语句的,Statement对象需要通过Connection类里面的createStatement()方法进行创建。如下图:

先创建一个连接数据库的类,以后就不用再写这片代码了,直接调用此类里面的方法即可:

image

创建Statement对象:

image

2.执行SQL语句的方法:

SQL语句大致可以分为DML(更新语句)和DQL(查询语句)两大类,Statement中分别有不同的方法操作这两类语句。

2.1 int executeUpdate(“SQL语句”):这个方法是用来执行更新语句的,如创建,修改,删除等,此方法的返回值为int类型,它反应的是影响的行数。使用案例如下图:

image

可以在SQLyog工具中验证:

image

注意:此代码只能运行一次,不能重复运行,否则会报错,因为运行一次后就有了mydb这个数据库,再运行一次就会再创建一个mydb数据库,发生重名。

2.2 ResultSet

executeQuary(“SQL语句”):此方法是用来执行查询语句的,它的返回值的类型是一个ResultSet接口,之所以不用数组或集合来做返回值的类型,而用ResultSet做返回值的类型是因为如果用数组或集合的话,那就意味着查询时要一次性将数据查询出来,如果查询的数据少还好,可是如果查询的数据极其庞大呢,这就不利于数据库的优化了。而ResultSet是一个接口,具体实现代码由数据库开发商决定,数据库开发商可自行决定到底是一条一条的查询还是一次性查询等,这就给数据库开发商留有余地,有利于程序的优化。使用案例如下图:

image

具体如何输出查询的内容可参照ResultSet和ResultSetMetaData的笔记。

3.批SQL执行:

java中有一个批SQL执行的设计,也就是批量执行SQL语句,它设计的本意就是把我们在程序中写的SQL语句都先累积在一起,然后再一次性执行多条SQL语句,但实际上是一次性执行,还是一句一句的执行,还要看数据库开发商写的驱动类里面是怎样的,而我们也无需在意这些小细节,因为这不是我们关心的事情,我们只需要知道并会使用这个操作即可。

3.1 addBatch() 累加SQL语句

3.2 executeBatch()

批量执行SQL语句,其返回值的类型是数组类型,返回的是每条SQL语句影响的行数

3.3 clearBatch() 清除批SQL语句

3.4 代码实现(下面以插入为例):

image

SQLyog验证结果如下:

image

4.提示:写SQL语句时,最好是现在SQLyog中写一遍看是否正确然后再复制到程序中去,因为如果在程序中是因为SQL语句写错了而报错,它是不会提示是什么错了,其报错的内容和在数据库中出错报错的内容一样。

JDBC API 4.2(五):Statement 接口源码分析 在本文中,我们将通过示例学习常用的JDBC Statement接口方法。 文章目录1、简述2、Statement 类图3、Statement 接口常用方法3.1、boolean execute(String sql) throws SQLException3.2、boolean execute(String sql,int autoGeneratedKeys) throws SQLExcepti... 阅读详情

相关推荐

告别降级CUDA!手把手教你为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly + vLLM推理环境

本文详细指导如何为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly和vLLM推理环境,特别针对CUDA 12.8的适配问题提供解决方案。从硬件准备到源码编译,再到模型部署与性能调优,手把手教你构建高效AI推理系统。

weixin_33724046的博客 409

JDBC的Statement

一、Statement 1.Statement对象,用于执行静态sql语句并返回其生成的结果的对象。 2.在建立连接后,需要对数据库进行访问,执行命令或是sql语句,可以通过 (1).Statement【存在sql注入】 (2).PreparedStatement[预处理] (3).CallableStatement[存储过程] 3.Statement对象执行sql语句,存在sql注入风险。 ...

qq_46093575的博客 2767

SCCM部署教程:(3)SCCM安装

这两则摘要介绍了WSUS和SCCM的安装步骤: WSUS安装:通过服务器管理器添加"Windows服务器更新服务"角色,选择SQL数据库并指定安装路径,验证数据库连接后完成安装。 SCCM安装:先运行预检工具Prereqchk.exe,选择主站点安装类型,配置语言、站点代码和名称,设置SQL数据库连接参数(保留默认端口4022),选择通信方法和系统角色(管理点和分发点),最后完成约1小时的安装过程。 两则安装指南都强调要确保数据库配置与前期准备一致,并提供了关键配置选项的说明。

小V锅的专栏 918

【Java 进阶篇】JDBC Statement:执行 SQL 语句的重要接口

Statement接口是JDBC的一部分,它允许我们向数据库发送SQL查询和更新语句,并从数据库中获取结果。StatementStatement:用于执行普通的SQL语句,不带有参数。:用于执行预编译的SQL语句,可以带有参数,防止SQL注入攻击。:用于执行数据库存储过程。在本文中,我们将主要关注Statement接口及其用法。Statement接口是JDBC中执行SQL语句的关键接口之一。通过创建Statement对象,我们可以执行查询和更新等各种数据库操作。

繁依Fanyi的博客 9588

【Cubietruck】Qt5.8.0 x64、x86、armhf三个版本的编译安装

一、       Preparation 以下环境配置支持虚拟机和实体机,但是实体机生产效率会相对高一点,实体机编译Qt的速度是虚拟机两倍以上。 若使用虚拟机,推荐使用VirtualBox,开源免费,尽量不要使用Vmware破解版。   Download List   名称 链接 下载项目 OS https://mirro

beatfan的博客 3658

Ollama本地大模型部署指南:从核心原理到实战避坑

大语言模型(LLM)作为人工智能领域的核心技术,通过海量数据训练获得强大的语言理解和生成能力。其工作原理基于Transformer架构,通过自注意力机制处理序列数据,在文本生成、代码编写和对话系统等场景展现出巨大价值。随着开源模型的普及,本地部署成为关注焦点,它解决了数据隐私和定制化需求,但面临环境配置和资源管理的挑战。Ollama作为开源工具,通过封装模型格式和统一API,简化了本地部署流程,支持GPU加速和性能调优,让开发者能够快速集成到IDE和自动化脚本中,实现高效的本地AI应用部署。

weixin_30915951的博客 452

关于jdbc中Statement

关于jdbc中Statement 一、 PreparedStatement 接口继承 Statement , PreparedStatement 实例包含已编译的 SQL 语句;Statement每次都会解析/编译SQL,确立并优化数据获取路径;所以其执行速度要快于 Statement 对象。 二、作为 Statement 的子类, PreparedStatement 继承了 Statement ...

weixin_43510522的博客 2909

【论文阅读1】机理引导的残差学习用于电池全生命周期状态监测 | Nature Communications

本文提出了一种机理引导的残差学习框架,用于提升电池全生命周期内荷电状态(SOC)和健康状态(SOH)的监测精度。该方法融合等效电路模型的先验知识与机器学习,设计了修正模型和补偿模型两种通用框架。实验验证表明,该方法在三种不同类型电池数据集上均表现出色,SOC和SOH估计误差较传统方法降低50%以上,且在未见工况下仍保持良好外推能力。模型具有强鲁棒性,在减少训练数据量和降低采样频率时性能稳定,并兼具物理可解释性。该框架无需离线测试和运行中校准,为电池安全监测提供了有效解决方案。

qq_21843433的博客 616

jdbc执行Statement接口的步骤

  jdbc执行Statement接口的步骤如下:     1)驱动注册程序: Class.forName(com.mysql.jdbc.Driver);     2)获取连接对象:  Connection conn = DriverManager.getConnection(url,user,password);     3)创建Statement对象: ...

dielunyuan5091的博客 320

Win10 / Win11 启用 Hyper-V 虚拟机详细教程(图文+命令行全攻略)

摘要:本文详细介绍Windows10/11系统启用Hyper-V虚拟化平台的方法,包含专业版/企业版的图形界面和PowerShell命令行操作,以及家庭版通过脚本强制启用的特殊方案。内容涵盖版本支持对比、操作步骤图解、常见问题解答和性能优化建议,帮助开发者快速搭建虚拟化环境进行多系统测试。附微软官方文档参考链接和详细操作示意图。

ElioXu 7080

【异常】Cursor编辑器 “Taking longer than expected...“ 报错全链路排查与解决方案

该提示并非传统的程序崩溃或语法报错,本质是Cursor编辑器的超时预警机制——当核心任务(云端AI推理请求、本地项目索引等)的执行耗时超出系统预设阈值时,触发的用户告知类提示,核心诱因是任务执行全链路出现阻塞或性能瓶颈。以下方案按排查优先级从高到低排序,覆盖从快速急救到根因根治的全流程,可按步骤逐步验证解决。针对大仓库、多依赖项目的索引超时问题,核心是通过规则过滤无效文件,从根源降低索引负载。

奶爸的编程之路,也就一周冷个三天 3103

【三大接口】JDBC:Connection、statement(PreparedStatement)、ResultSet的创建及使用 【整理】

文章目录1、简述JDBC2、Connection接口3、Statement接口4、PreparedStatement接口5、ResultSet接口 1、简述JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人...

超逸の学习技术博客 5010

用Python爬虫抓取大宗交易成交数据:全面解析与实战代码

大宗交易是指在证券市场中,涉及大额买卖的交易。此类交易通常由机构投资者进行,其交易量较大,对市场的影响显著。大宗交易数据包含了买卖双方的成交价格、成交量等关键信息,这些数据对于投资者和分析师而言,具有重要的市场预测意义。Python爬虫是一种自动化抓取互联网上数据的工具。通过爬虫,我们可以定期获取大宗交易数据,节省人工查询的时间。爬虫的工作原理通常包括:发送HTTP请求、获取响应数据、解析网页内容、提取关键信息、存储和展示数据。

2201_76125261的博客 417

jdbc以及PrepardStatement与statement接口的简单介绍

开发者在使用JDBC时,需要充分理解这些重难点,并采取相应的措施来确保程序的正确性、安全性和性能。:JDBC提供了事务管理的功能,可以确保一系列操作的原子性、一致性、隔离性和持久性。SQL注入是一种严重的安全漏洞,攻击者可以通过输入恶意的SQL代码来操纵数据库。连接资源是昂贵的,需要妥善管理,避免资源浪费和泄露。在第一次执行时被编译和缓存,后续执行时直接使用缓存的编译结果,避免了重复编译的开销。如果需要构建复杂的、动态的SQL语句,可能需要结合使用。不同的数据库有不同的驱动类名,需要正确指定。

m0_71936529的博客 394

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jdbc 接口的用法 Statement和PreparedStatement的区别!

package cn.zhouzhou; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import com.mysql.jdbc.PreparedStatement; /*一、接口的概念...

weixin_30781433的博客 142

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

JDBC接口核心的API、Statement接口详解

一、JDBC接口核心的API 在JDK API的java.sql.* 和 javax.sql.*下面查看 1、Driver接口: 表示java驱动程序接口。所有的具体的数据库厂商要来实现此接口。 1)connect(url, properties): 连接数据库的方法。 url: 连接数据库的URL URL语法: jdbc协议:数据库子协议://主机:端口/数据库

一点一滴 7407

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JDBC之Statement接口

/* * JDBC全称Java数据库连接,它是一套用于执行SQL语句的API,应用程序可通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库的查询、新增、更新和删除 * 如果直接使用数据库厂商提供的访问接口操作数据库,应用程序的可移植性会很差,例如当前程序使用的是MySQL提供的接口操作数据库,如果换成Oracle,则需要重新使用 * Oracle数据库提...

YRZsir的博客 636

jdbc使用 Statement 接口实现删除数据操作

jdbc使用 Statement 接口实现删除数据操作

wang_shuai_long的博客 500

JDBC(三)Statement接口

.

w_t_y_y的博客 278

java_267_JDBC_statement接口用法_SQL注入_练习

常用接口;Statement(语句)

weixin_45339692的博客 109

JDBC-使用Statement接口实现增、删、改操作

1 Statement接口 2 使用Statement接口实现增加、更新,删除数据操作 代码结构如上所示,DbUtil表示获取和关闭连接的工具类,Book表示图书的模型类,test表示增加操作,test1表示更新操作,test2表示删除操作,详细代码如下 package com.chb.util; import java.sql.Connection; import java.sql.Dri...

cc098818的博客 333

JDBC主要接口DirverManager、Connection、Statement、PreparedStatement、ResultSet的简介

JDBC定义: JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可 以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个

zd8582zd的专栏 808

jdbc使用 Statement 接口实现更新数据操作

jdbc使用 Statement 接口实现更新数据操作

wang_shuai_long的博客 657

JDBC数据库操作_03Statement接口和常用方法

JDBC常用接口 Statement接口 语句:执行SQL语句,执行操作的核心 用于执行静态SQL语句并返回它所生成结果的对象(Statement对象用于将 SQL 语句发送到数据库) 三种Statement类: • Statement: 由createStatement创建,用于执行不带参数的简单SQL语句; • PreparedStatement(从 Statement 继承): 用于执行带...

Re_view的博客 732
上一篇: JDBC
下一篇: 锁
凯哥资料
博客等级 码龄11年 110粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值