JDBC

10分钟学会工程领域Hypermesh与Abaqus联立处理大量铆钉连接简化做法 铆钉连接是一种可靠且高强度的机械连接方式,广泛应用于多个领域。但是,工程结构上铆钉连接往往以较大的数量出现,若按照常规的一个个去选择生成,处理1个铆钉连接点需要1分钟来算,300个铆钉需要5个小时,耗费大量的时间成本。给出了一种高效处理铆钉连接的方法,提升效率50倍以上。 阅读详情

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

1.Statement接口

专门用于执行SQL语句的接口,还有一个PreparedStatement接口也可以执行SQL语句,Statement执行速度比较快,PreparedStatement执行效果更好。

怎么创建Statement?

通过Connection数据库连接对象来创建的。
先写一个数据库连接对象类,并测试一下是否正常连上数据库:

image

image

通过写一个类来专门获得数据库连接对象,这个类中定义一静态方法,用来返回数据库连接对象。以后可以直接使用

conn=DriverManager.getConnection(“”,””,””),来获得数据库连接对象。

测试使用一下Statement对象,这个对象的获得需要通过Connection对象来获得:

image

Statement sta=conn.createStatement();这是获得Statement对象的方法。

这样就有了SQL语句执行对象了,可以用这个对象来想数据库发送SQL语句去操作数据库了。

数据库语句最主要两部分:

1.DML更新语句

2.DQL查询语句

除此之外,DDL语句也能执行,不同的SQL语句应该使用Statement对象的不同的方法来进行执行。

更新语句该用Statement对象的哪个方法来执行?

sta.executeUpdate(),除了增insert、删除delete、改update、查select可以执行外,create、drop等DDL也可以使用executeUpdate来执行。它的返回值是int类型,是影响的行数。

使用executeUpdate()方法来执行create table:

image

用Statement对象发送一条创建表格的SQL语句,因为create table是创建语句,所以不会有影响的行数,因此返回的是0,:

image

然后看到表格创建成功。然后发送insert into语句来插入数据:

image

image

注意数据库中用单引号来标注字符串内容,因为新增一条数据,所以会影响一行,返回1.

再发送删除语句delete:

image

当前数据,然后执行delete语句,应该会有三行数据受到影响:

image

也可以使用sta.execute(SQL)来进行添加数据,它的返回值是boolean类型的。:

image

image

发送语句我们主要使用executeUpdate和execute这两个方法。

发送update语句来修改字段的值:

image

image

用java程序来发送SQL语句的时候,先在mysql数据库中执行一遍,保证SQL语句书写的正确性,然后再让java来发送SQL语句到数据库中。我们JDBC操作数据中的错误有很大一部分都是由于SQL语句书写错误而产生的。

批量执行SQL语句:

1.for循环来执行100次SQL语句:

image

image

这种方法执行SQL语句,是一条一条的来执行SQL语句,每插入一个数,执行一次SQL语句,共执行100次SQL语句。

还有一种方法,先用循环把所有要执行的SQL语句添加到批SQL中就是addBatch(SQL),然后再一次性执行批SQL中的所有SQL语句,相当于一次性执行SQL,executeBatch(),当然它最后执行多有的SQL语句的时候,到底是一次执行100条SQL还是分100次执行100条SQL,这个就要看具体的引擎的实现了。

image

image

执行的效果还是一样的。
这两种执行批量SQL的语句速度效率相近。

image

运行完批SQL后,可以清除批SQL语句。

批SQL是用于批量执行更新SQL语句的,不要拿去执行批量查询SQL语句,那是毫无意义的。

要执行查询SQL语句怎么办?

executeQuery(SQL),返回值是ResultSet,查询记录集。为啥返回的是接口ResultSet记录集而不是数组或者是集合呢?

这是为了让数据库方更好的去优化从数据库拿值到java程序的拿值方式,如果你写死成数组或者集合,那么你从数据库拿查询结果值到java程序的时候,你就要一次性把所有查询结果值一起拿过来,这时如果碰到查询数据量很大的情况下会耗时很多,而且你无法优化,所以,做成接口ResultSet的话,从数据库中把查询结果值拿出来的时候,是一条一条拿还是一批一批的拿,或者是一次性一起拿全部由数据库方你自己去决定,由数据库供应商去实现最优化的拿值方式。

ResultSet,查询记录集对象。查询出来的结果对象。

image

发送查询SQL语句到数据库中,然后得到查询记录集,这时有两种拿查询值回程序客户端的方法,一是一次性拿所有查询值回客户端程序,而是取一行拿一行(客户要用到一行数据的时候,就从查询记录集中拿一行数据出去。)在查询记录集中有一个取值游标,默认在最前方,有两个方法beforeFirst把游标移动到最前,afterLast把游标移动到最后,然后游标在最前的时候用next方法从前往后的方式拿值,游标在最后的时候用previous从后往前的方式拿值。

image

取值时是一行一行的取,取完一行就移动到下一行去取。

取记录集里面的值的时候,数据库表的列的类型有很多种的,你取值的方法的选取根据数据库表的列的数据类型来决定。
比如:

Char/varcha>>>>getString()

Int>>>>getInt()

Datetime>>>>getDate()

Boolean>>>>getBoolean()

Float>>>>getFloat()

Double>>>>getDouble()

这就是java方法里的类型和表的列数据类型的对应关系,在取值的时候,最好按上面的对照关系来一一对应选择相应的方法,或者你的java方法里的类型比表的列数据类型大,比如,数据库中是float你可以getFloat或者getDouble。

两种拿值方式:

1.通过序号拿值

2.通过列名拿值

按序号拿值:它这里的序号是第几列的意思,但是这个第几列有两种不同的情况:

1.SQL语句是select * from student,这个查询的记录集的列的顺序和数量和原始表是一样,这里的第几列就是和原始表的第几列是一样的:

image

image

image

但是如果SQL语句是select sname from student,这是的查询记录集只有sname一列,这种情况下的第一列的话就是sname,而不是sid了。:

image

image

还可以倒序拿值。

按列名来拿值:

image

这种拿值方式相较于按序号拿值来说还是很靠谱的。
按列名拿值的时候,要注意记录集里面是否有查相应的字段列,比如我select sname from student,则记录集中只有sname,如果你此时非要getString(“sid”),那肯定会报错的,还有就是如果查询的时候取了别名,就要按别名来取了,比如
Select sname name from student,这是如果你还getString(sname)也是会报错的:

image

image

image

如何从数据库中拿时间和日期的值?

首先我们的查询记录集里面的date是数据java.sql.Date,所以从里面取出来的值是sql包下的Date,但是这个sql包下的Date又是继承于java.util.Date的,所以根据多态,引包的时候,直接引java.util.sql里的Date就行了。

image

image

image

image

image

引包的时候出了Date可以引util下的Date,time和timestamp都是引sql包下的类。

ResultMetaData接口:

这个接口的对象通过记录集对象ResultSet对象的方法来获得:

Rsmd=rs.getMetaData();主要返回的是表的结构。主要是告诉你你查询出来的记录集里面的每个列的数据类型、大小、等信息,所以说此对象必须从记录集对象中获得。

用它来得到记录集中的表列结构信息:

image

可以查看查询记录集的信息:共有多少列?每列的列名?每列的数据类型?每列的显示数据长度?该列是否能为空?

image

使用ResultSetMetaData主要是用来探索记录集的表结构信息的。

作业代码:

image

image

image

【WRF教程第3.5期】预处理系统 WPS 详解:以4.5版本为例 预处理系统 WPS 详解:以4.5版本为例 阅读详情

相关推荐

Oracle监听配置

Oracle监听配置## 标题 选择“监听程序配置”,然后下一步。 选择重新配置,然后下一步/。 不用管,按下一步。 下一步。 选择“否”,下一步。 选择"本地net服务名配置",然后下一步。 选择“重新配置”,然后下一步。 服务名 是"Oracle",然后下一步。 主机为你的IP地址,在doc系统下通过"ipconfig"获取IP地址。然后输入,然后下一步。 选择“是,进行测试...

m0_46079215的博客 807

JDBC访问一次数据库多次执行sql文

1第一要开启事务 //打开事务 默认是ture 自动提交事务 conn.setAutoCommit(false); 2//addBatch() 将一组参数添加到此 PreparedStatement 对象的批处理命令中。 3 //executeBatch() 将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLEx

xiaohaizi15的博客 2015

Ansys Zemax | 利用OpticStudio实现衍射光学元件(DOE)与超透镜(metalens)的高效建模与验证

本文详细介绍了如何利用Ansys Zemax的OpticStudio软件实现衍射光学元件(DOE)与超透镜(metalens)的高效建模与验证。通过混合建模策略、相位面等效建模法、POP与FDTD联合验证等多种方法,帮助工程师快速解决跨尺度仿真难题,提升设计效率与精度。文章还分享了实战案例与高级技巧,适用于AR、医疗内窥镜等应用场景。

weixin_29268331的博客 501

mysql foreach 写法,多条 sql 与一条 sql 的性能消耗分析

比如有 100 条 sql,如果不手动开启事务把这 100 条 sql 放在同一个事务中执行,那么这 100 条 sql 会分别在 100 个隐式事务中。每个事务占用一个连接,这样就占用了 100 个连接。

JellyfishMIX 的博客 1160

卫星测试科普(三):卫星载荷的核心测试设备探秘

总的说来,卫星芯片与元器件,部组件与单机,整机与子系统,系统与整星的设计、定型、制造、验证、总装、发射、在轨等环节都离不开各种测试场景,对于这些卫星测试场景而言,“射频三大件”与高速数字示波器是构成强大测试系统的基础。卫星通信信号生成:覆盖Ka、Q等波段,具备扫频、脉冲、数字调制、噪声信号、雷达信号、数据链信号、OFDM 等多种信号库,用于测试和验证卫星电子设备的电气性能、频率响应、抗干扰能力等。卫星的通信需要高效、快速地传输大量数据,高速信号的质量至关重要,如果卫星信号不佳,卫星就会出现故障或者隐患。

spwbjss的博客 2319

jetson agx orin开箱及接口介绍

jetson agx orin开箱及接口介绍

qq_58728069的博客 1万+

避免在for循环中使用sql语句

这是个基本常识额,在这里再赘述一下。 例如一个大sql查出100条结果,现在每条记录要关联显示一条其他数据。该怎样做? for循环中使用sql语句 最简单的一种方式就是for循环中使用sql语句。根据关联字段查出对应的数据。 优点: 实现简单快速,在2个表都有基本Mapper的情况下,不用新增任何基础类,直接可以拼凑逻辑。 缺点: 整个接口速度慢,例如list有100条结果,每条都遍历查库,需要查100次库。 而建立session访问数据库是较耗时的操作,最简单的一个session也要20ms左右。 光和数

enthan809882的博客 7634

FPGA学习之路—应用程序—原码二位乘法器及Verilog代码分析

FPGA学习之路——原码二位乘法器及Verilog代码分析 原理 原码乘法可以分为原码一位乘和原码二位乘,两者在实现规则上大同小异。原码一位乘每次判断乘数的最低位,对被乘数和部分积进行相应操作。而原码二位乘则是对乘数的低二位进行判断,并执行相关操作。 两位乘数的取值可以有四种可能组合,每种组合对应于以下操作: 00相当于0x,部分积Dresult右移2位,不进行其他运算; 01相当于1x,部分积D...

谦豫 3717

JDBC事务控制管理

1、事务 (1)事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 例如:A——B转帐,对应于如下两条sql语句 update account set money=money-100 where name=‘a’;  update account set money=money+100 where name=‘b’; 数据

caomiao2006的专栏 3万+

Spring AI Alibaba实战训练营-14基于A2A协议智能体应用开发指南

本文介绍了基于A2A协议的智能体应用开发流程,主要包括客户端和服务端两个模块的实现。关键技术包括A2A通信协议、Nacos服务发现、Spring AI Alibaba框架和DashScope通义千问API。开发步骤涵盖环境准备(JDK17、Maven、Nacos)、项目创建、依赖配置(重点引入spring-ai-alibaba相关组件)以及Nacos和DashScope的核心配置。整个系统架构采用客户端通过Nacos发现服务端Agent,再调用阿里云AI服务的模式,实现了AI能力的解耦与复用。

program哲学 506

基于遗传算法改进BP神经网络的电池容量SOC预测

,遗传算法BP神经网络能很好的实现对电池容量soc的训练和预测,BP神经网络是一种成熟的神经,相对于其他神经网络,拥有很多的训练函数,传递函数,可以调节的参数非常多,对各种问题都可以达到一个比较理想的效果,关键看如何调试参数,选择训练传递函数,遗传算法改进BP神经网络的初始权值阈值,达到改进BP神经网络的目的,从而更好的实现对电池容量SOC的预测

abc991835105的博客 768

jdbc

文章目录一,什么是JDBC二,JDBC的原理三,程序员,JDBC,JDBC驱动的关系及说明四,JDBC的总结五,JDBC连接数据的步骤六,JDBC连接数据的详细步骤 一,什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。 二,JDBC的原理 早期SUN公司的天才们想编写一套可以连接天下所有数据库的API,但是当他

qq_43623447的博客 2万+

从零开始学习PX4源码23(飞行模式管理)

本文摘要主要介绍了PX4飞控系统中飞行模式管理模块的代码实现流程。文章从整体架构入手,分析了飞行模式管理模块的启动过程、类继承关系以及核心运行机制。重点阐述了模块从rc.mc_apps启动脚本到FlightModeManager::main()的调用链路,包括任务创建、工作队列初始化和主循环执行流程。核心部分解释了Run()函数如何通过订阅传感器数据、更新参数、处理命令以及生成轨迹设定点来实现飞行模式切换和任务管理功能。文章为理解PX4飞行控制系统的模式切换机制提供了代码层面的详细分析。

陌城烟雨 499

JDBC是什么

JDBC(Java Database Connectivity, Java 数 据 库 连 接)是 一 种可用于执行 SQL 语句的 Java API(Application Programming Interface, 应用程序设计接口)。它由一些 Java 语言编写的类和接口组成。JDBC 为数据库应用开发人员、数据库前台开发人员提供了一种标准的应用程序设计接口, 使开发人员可以用纯 Java 语言编写完整的数据库应用程序。

顺其自然~专栏 2万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)

本篇文章主要介绍JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)简单入门知识以及部分理论知识 JDBC是Java Database Connectivity的缩写 是一种用于Java程序访问关系型数据库的API(应用程序接口)。 1. Java语言的跨平台性:JDBC可以在各种操作系统和计算机体系结构上运行,这使得使用Java开发的应用程序可以方便地与不同类型的数据库进行交互。 2. 标准化:JDBC是一个标准化的API,提供了一致的访问关系数据库的方法,使

Jin_Xiang123的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JDBC | JDBC快速入门

本文讲解了JDBC的基础代码,帮助大家可以快速上手JDBC,感受JDBC的使用过程

BoBooY的Java学习笔记 1787

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JDBC详解——JDBC常用接口

JDBC: JDBC的全称是Java Database Connectivity,即Java数据库连接,它是一种可以执行SQL语句的Java API。程序可以通过JDBC API连接到关系数据库,并使用结构化查询语言(SQL,数据库标准的查询语言)来完成对数据库的查询和更新。 JDBC执行事件: 建立与数据库的连接; 执行SQL语句; 获得SQL语句的执行结果。 JDBC驱动程序: ...

threelifeadv的博客 8112

Spring JDBC - Spring JDBC模版使用

Spring JDBC模版;Spring JDBC支持类

weixin_52937170的博客 1580

Java数据库连接—JDBC(JDBC详解、JDBC控制事务、C3P0连接池、Druid连接池、Spring JDBC-JDBC Template)

互联网大厂比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。无论是哪家公司,都很重视高并发高可用技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。下面有部分截图希望能对大家有所帮助。

2401_84003809的博客 993

JDBC原理&浅析HIVE-JDBC

目录 {:toc} 什么是JDBC? JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口。Java8 JDBC API 使用Java程序访问数据库时,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接口来访问,而JDBC接口则通过JDBC驱动来实现真正对数据库的访问。 例如,我们在Java代码中如果要访问MySQL,那么必须编写代码操作JDBC接口。注意到JDBC接口是Java标准库自带的,所以可以直接编译。而具体的JDBC驱动是.

梦境迷离 3583

JDBC总结——JDBC工具类

文章目录JDBC工具类一、JDBC工具类概述1、定义JDBC工具类的目的2、封装的操作二、JDBC工具类的封装1、dbcp.properties2、JdbcUtil3.java3、JdbcTemplate.java JDBC工具类 一、JDBC工具类概述 1、定义JDBC工具类的目的 每次使用JDBC的时候都要书写冗长的代码段,不符合复用的理念,于是要单独写一个类,将通用的JDBC操作写到一个类...

weixin_44157233的博客 1931

JDBC是什么?JDBC连接Mysql完整操作案例

是Java平台下用于数据库连接和操作的标准API,是一套接口和类的集合,它是由Sun Microsystems公司(现已被Oracle公司收购)最早提出的,目的是让Java应用程序能够与各种数据库系统进行交互。通过JDBC,Java程序员可以使用统一的接口来执行SQL语句、处理结果集,并与关系型数据库管理系统(RDBMS)进行通信。

wangyufei0815的博客 1257

JDBC版本简介

JDBC 版本是 JDBC 软件的发布,在 JDK 实现中有多个可用的 JDBC 版本。JDBC 目前的稳定版本是 4.3,发布于2017 年 9 月21日,版本 4.3 是一个稳定的版本,这意味着我们可以使用此版本实现 API 软件。第一个版本于1997年发布,其版本名称为JDBC 1.2,这是JDBC的第一个稳定版本。在发布版本 1.2 之后,许多稳定版本在 JDK 实现中发布,JDBC 4.0 及更高版本都支持 java SE 环境。

allway2的博客 3165

【JDBC上篇】什么是JDBC

既然是一套接口,接口都有调用者和实现者,面向接口调用,面向接口写实现类,都属于面向接口编程。面向接口编程的优势是解耦合,降低程序的耦合度,提高程序的扩展力。数据库的驱动大多以jar包的形式存在,解压后得到很多class文件,这些class文件就是对JDBC接口的实现,驱动由各大数据库厂家提供。getString方法传入列名的时候,传入的是查询结果集的列名。getString方法可以传入列的下标(JDBC中下标从1开始),也可以传入列名,但后者更加健壮。实际开发中,不要把数据库的信息写死在Java程序中。

llg___的博客 781

JDBC概述

JDBC是一种可用于执行SQL语句的JavaAPI,是连接数据库和Java应用程序的纽带。 一、JDBC-ODBC桥 JDBC-ODBC桥是一个JDBC驱动程序,完成了从JDBC操作到ODBC操作之间的转换工作,运行JDBC驱动程序被用作ODBC的驱动程序。使用JDBC-ODBC桥连接数据库的步骤如下: 1、先加载JDBC-ODBC桥的驱动程序。代码如下: Class.forNam...

为你灯明三千的博客 784

JDBC——概述与JDBC的使用

引言 一直希望深入学习一下数据库持久化技术,接触过Hibernate、Mybatis,也使用过Spring事务管理来控制回滚操作,但是越发觉得底层知识有一定的知识盲区和空洞。 很多ORM框架都是基于JDBC规范来进行构建的,因此,学习JDBC的基础知识势在必行。虽然不建议在实际开发中使用 JDBC API,但了解其技术背景和使用过程无疑会更好的理解构建于其上的高级框架。 本篇博客总结自尚硅谷宋红康老师的视频教程,旨在记录和总结JDBC API的使用步骤和常见问题,方便未来面试和深入理解其他框架。 一

Morty的技术乐园 883
上一篇: -Java-泛型
下一篇: JDBC接口介绍之Statement
凯哥资料
博客等级 码龄11年 110粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值