Java JDBC 理论笔记(一)

【JAVA高级】——一文学会JDBC操作数据库 一、JDBC含义 二、JDBC数据库连接 三、JDBC操作数据表 1、实现步骤 2、JDBC插入数据实例(增) 3、JDBC删除数据实例(删) 4、JDBC修改数据实例(改) 5、JDBC查询数据实例(查) 四、JDBC异常 SQLException方法 阅读详情

原:http://hi.baidu.com/zero_spy/ 2011-11-05

http://www.cnblogs.com/hoojo/archive/2011/06/10/2077643.html

一、JDBC常用接口、类介绍

JDBC提供对独立于数据库统一的API,用以执行SQL命令。API常用的类、接口如下:  

DriverManager

管理JDBC驱动的服务类,主要通过它获取Connection数据库链接,常用方法如下:publicstaticsynchronized Connection getConnection(String url, String user, String password) throws Exception;该方法获得url对应的数据库的连接。

Connection常用数据库操作方法: 

Statement createStatement throws SQLException: 该方法返回一个Statement对象。PreparedStatement prepareStatement(String sql) throws SQLException;该方法返回预编译的Statement对象,    即将SQL语句提交到数据库进行预编译。CallableStatement prepareCall(String sql) throws SQLException:该方法返回CallableStatement对象,    该对象用于存储过程的调用。上面的三个方法都是返回执行SQL语句的Statement对象,PreparedStatement、CallableStatement的对象是Statement的子类,只有获得Statement之后才可以执行SQL语句。 关于Connection控制事务的方法:Savepoint setSavepoint(): 创建一个保存点Savepoint setSavepoint(String name):创建一个带有名称的保存点void setTransactionIsolation(int level):设置事务隔离级别void rollback():回滚事务void rollback(Savepoint savepoint):回滚到指定保存点void setAutoCommit(boolean autoCommit): 关闭自动提交,打开事务void commit():提交事务

Statement

用于执行SQL语句的API接口,该对象可以执行DDL、DCL语句,也可以执行DML语句,还可以执行SQL查询语句,当执行查询语句是返回结果集,常用方法如下:ResultSet executeQuery(String sql) throws SQLException:该方法用于执行查询语句,并返回查询结果对应的ResultSet对象,        该方法只用于查询语句。int executeUpdate(String sql) throws SQLException:该方法用于执行DML语句,并返回受影响的行数;        该方法也可以执行DDL,执行DDL返回0;boolean execute(String sql) throws SQLException:该方法可以执行任何SQL语句,如果执行后第一个结果是ResultSet对象,        则返回true;如果执行后第一个结果为受影响的行数或没有任何结果,则返回false;

PreparedStatement

预编译的statement对象,PreparedStatement是Statement的子接口,它允许数据库预编译SQL(通常指带参数SQL)语句,以后每次只改变SQL命令参数,避免数据库每次都编译SQL语句,这样性能就比较好。而相对于Statement而言,使用PreparedStatement执行SQL语句时,无需重新传入SQL语句,因为它已经预编译了SQL语句。但是PreparedStatement需要为编译的SQL语句传入参数值,所以它比了如下方法:void setXxx(int index, value)根据该方法传入的参数值的类型不同,需要使用不同的方法。传入的值的类型根据传入的SQL语句参数而定。

ResultSet

void close() throws SQLException:释放、关闭ResultSet对象boolean absolute(int row):将结果集移动到第几行,如果row是负数,则移动到倒数第几行。        如果移动到的记录指针指向一条有效记录,则该方法返回true;void beforeFisrt(): 将ResultSet的记录指针定位到首行之前,这是ResultSet结果集记录指针的        初始状态:记录指针的起始位置位于第一行之前。boolean first():将ResultSet的记录指针定位到首行。如果移动后的记录指针指向一条有效记录,则该方法返回true。boolean previous():将ResultSet的记录指针定位到上一行,如果移动后的记录指针指向一条有效记录,则该方法返回true。boolean next():将ResultSet的记录指针定位到下一行。如果移动后的记录指针指向一条有效记录,则返回true。boolean last():将ResultSet的记录指针定位到最后一行。如果移动后的记录指针指向一条有效记录,则返回true。void afterLast():将ResultSet的记录指针定位到最后一行之后。注意:在JDK1.4以前只支持next移动,且每次移动一个位置。到JDK1.5就可以随意定位。二、JDBC编程步骤

进行jdbc编程步骤大致如下: 

1、加载数据库驱动 

Class.forName(driverClass)
上面的dirverClass就是数据库驱动类所对应的类路径字符串,根据不同数据库厂商提供的驱动也不同。

2、通过DriverManager获取数据库的链接 

DriverManager.getConnection(String url, Stirng user, String pass)
当使用DriverManager来获取链接,需要传入三个参数:分别是数据量的url、用户名、密码。

3、通过Connection对象创建Statement对象,Connection创建Statement的方法如下三个: 

createStatement()创建基本的Statement对象。
prepareStatement(String sql):根据传入的sql语句创建预编译的Statement对象。
prepareCall(String sql):根据传入的sql语句创建CallableStatement对象

4、Statement执行SQL语句,Statement有三大方法来执行SQL语句: 

execute:可以执行任何SQL语句,单比较麻烦executeUpdate:可以执行DML、DDL语句。执行DML返回受影响的SQL语句行数,执行DDL返回0;executeQuery:只能执行查询语句,执行后返回代表查询结果的ResultSet对象。

5、操作结果集,针对ResultSet 

主要移动指针和获得值next、previous、first、last、beforeFrist、afterLast、absolute等移动指针的方法。getXxx获得移动指针指向行,特定列、索引的值。使用列名作为获取值的参数可读性好、使用索引作为获取参数性能好。

jdbc编程笔记(非常难得的资源) jdbc编程笔记 jdbc编程笔记 jdbc编程笔记 立即下载

相关推荐

解决vscode 连接服务器报错:The remote host may not meet VS Code Server‘s prerequisites for glibc and libstdc++

解决vscode远程连接服务器报错:The remote host may not meet VS Code Server's prerequisites for glibc and libstdc++ (The remote host does not meet the prerequisites for running VS Code Server)

qq_37200100的博客 9910

错题集-Day-7

1、(单选题)试图用下面句子查询数据:SELECT 100/NVL(quantity, 0) FROM inventory; 为何 QUANTITY 为 null 空值时,将导致出错( ) A.表达式企图被空值除 B.换函数参数数据类型不一致 C.空值不能被转成实际值 D.表达式企图被零除 【正确答案】D 【答案解析】nvl(表达式1,表达式2)这个函数的作用是如果表达式1的值为null,那么取表达式2的值。 1、下面选项的MySQL数据库url正确的是哪个?() A.jdbc:mysql://localh

Kurianse 2487

mysql笔记:23. 在Mac上安装与卸载MySQL

MySQL对Mac电脑的适配十分强大,再加上Mac本身就是Unix操作系统演化而来的,所以在Mac上安装MySQL的方式有多种。常见的方法有如下三种:DMG、brew、TAR。介绍这些方法前,我们先了解下MySQL安装文件的下载。

斌斌(Java) 2250

Java期末考试试题及参考答案(11)

PreparedStatement接口是Statement的子接口,用于执行预编译的SQL语句。

谷哥的小弟 5924

从零到一:基于GeneMark-ES/ET的新基因组注释实战指南

本文提供了一份基于GeneMark-ES/ET的新基因组注释实战指南。详细介绍了从环境搭建、数据准备到核心运行的全流程,重点解析了ES(从头预测)与ET(结合RNA-Seq证据)两种模式的选择与操作,并分享了Perl模块依赖、并行处理等常见问题的解决方案,帮助生物信息学研究者高效完成基因预测工作。

weixin_29266647的博客 209

Streamlit安装避坑指南:从零到一键启动你的第一个数据可视化应用

本文提供了一份详尽的Streamlit安装避坑指南,帮助用户从零开始快速启动第一个数据可视化应用。文章深入剖析了安装过程中常见的网络超时、依赖冲突、环境变量缺失等核心问题,并给出了使用虚拟环境、配置国内镜像源、利用.whl文件离线安装等多种经过验证的解决方案,确保安装过程顺畅无阻。

weixin_29065015的博客 615

JDBC题库

一、 填空题 JDBC ,是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问。它由一组用Java语言编写的类和接口组成。 JDBC API:供程序员调用的接口与类,集成在java.sql和 javax.sql包中。 简单地说,JDBC 可做三件事: 与数据库建立连接 、发送操作数据库的语句、处理结果。 加载JDBC驱动是通过调用...

weixin_30603633的博客 5976

信贷审批中的那些坑:从零开始搭建风控策略体系的5个关键步骤

本文深入探讨了信贷审批中的风控策略体系搭建,从数据陷阱识别、规则冲突诊断到反欺诈攻防,提供了5个关键步骤的实战指南。重点解析了如何通过特征工程、决策树优化和模型可解释性技术,构建动态平衡的风控体系,有效降低逾期风险并提升审批效率。

weixin_29253711的博客 414

JDBC

JDBC 一、JDBC概述 JDBC(Java Database Connection)为java开发者使用数据库 提供了统一的编程接口,它由一组java类和接口组成。是java 程序与数据库系统通信的标准API。JDBC API 使得开发人员 可以使用纯java的方式来连接数据库,并执行操作。 sun公司由于不知道各个主流商用数据库的程序代码,因此无 法自己写代码连接各个数据库,因此,sun...

职业炮灰的博客 446

深入解析HAL_UART_Receive_IT:如何高效配置串口中断接收

本文深入解析了STM32 HAL库中`HAL_UART_Receive_IT`函数的工作原理与高效配置方法。该函数并非直接接收数据,而是作为中断接收的启动器和配置器,通过开启相关中断,由`UART_Receive_IT`在后台完成数据搬运。文章详细对比了中断与轮询模式的区别,并提供了不定长数据接收的完整实战流程、常见问题避坑指南及高级应用技巧,帮助开发者构建稳定高效的串口通信。

weixin_29162439的博客 639

【推荐100个unity插件】性能极高的逼真爆炸、火焰和烟雾效果——UNI VFX

这是一篇关于Unity中高性能GPU粒子特效插件UNI VFX的使用指南。文章介绍了该插件提供逼真的爆炸、火焰和烟雾效果,支持URP和HDRP渲染管线。主要内容包括:插件安装方法(需预先安装Visual Effect Graph和Shader Graph包)、事件系统使用方法(如create/loop/stop等事件控制)、特效分类(自动结束型和持续型特效)、检视面板配置技巧以及性能优化建议(特别提醒灯光特效对性能的影响较大)。文末还推荐了多个Unity开发相关的专栏内容。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1490

JDBC1-2ResultSet结果集的基本用法

**1. ResultSet对象是executeQuery()方法的返回值,它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。 2. ResultSet里的数据一行一行排列,每行有多个字段,且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,就要使用ResultSet的next()方法,如果我们想要得到ResultSet里的所有记录,就应该使用while循

weixin_43509097的博客 1214

手把手完整实现STM32+ESP8266+MQTT+阿里云服务器+手机APP应用——第一节—阿里云物联网平台配置+IoTStudio界面绘制+MQTT.fx模拟MQTT客户端与使用AT命令发布订阅消息

通过MQTT.fx模拟连接以及通过CH340串口连接ESP8266发送AT命令,实现阿里云物联网平台发送数据同时接收数据,IOT studio界面显示数据。具体来说:使用ESP8266(本系列使用了ESP8266-ESP01/01S以及正点原子的ATK-ESP8266) 来连接网络,获取设备数据发送到阿里云物联网平台并显示数据,通过IOT studio界面显示数据并发送命令控制设备。本系列使用的主控芯片是STM32F103系列,当然也可以使用其他系列单片机都可以实现,思路都是一样的。同时本系列有手机APP源

嵌入式阿齐Archie 5万+

Java后端学习笔记 -- JDBC(一)

写在开头:本文是学习Java后端开发的个人笔记,便于自己复习。文章内容引用了尚硅谷的jdbc教学,有兴趣的朋友可以上B站搜索。 JDBC     Ⅰ JDBC概述     Ⅱ 获取数据库连接     Ⅲ 使用PreparedStatement实现CRUD操作     Ⅳ 操作BLOB类型     Ⅴ 批量注入     Ⅵ 数据库事务   ...

IceTiger_的博客 2313

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java开发 - 尚硅谷JDBC学习笔记

JDBC是Java连接数据库技术的统称JDBC是由两部分组成的:Java提供的jdbc规范(接口)各个数据库厂商实现的驱动jar包JDBC技术是一种典型的面向接口编程JDBC是的缩写,直译为Java数据库连接JDBC是Java程序连接数据库的技术统称JDBC由Java语言的规范(接口)和各个数据库厂商的实现驱动(jar包)组成性能提升级。官方表示MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。

codeLearnerEternally的博客 2468

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java JDBC 理论笔记

一、JDBC常用接口、类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令。API常用的类、接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connection数据库链接,常用方法如下: public static synchronized Connection getConnection(String url, String user

求知 892

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java文档阅读笔记-JDBC Driver

目录 JDBC Driver JDBC-ODBC bridge driver Native-API driver Network Protocol driver Thin driver JDBC Driver JDBC是Java用来与数据库交互的软件,他有4个特点: 1. JDBC-ODBC桥接式驱动; 2. 本地API驱动;...

IT1995的博客 4521

Java笔记——java之jdbc_java jdbc

如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费;便是SQL注入问题。

a25847a的博客 921

Java笔记——JDBC

在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据。这就是接下来要学习的JDBC。 我们开发的同一套Java代码是无法操作不同的关系型数据库,因为每一个关系型数据库的底层实现细节都不一样。如果这样,问题就很大了,在公司中如果在开发阶段使用的是MySQL数据库,而上线时公司最终选用oracle数据库,我们就需要对代码进行大批量修改,这显然并不是我们想看到的。我们要做到的是同一套Java代码操作不同的关系型数据库,而此时sun公司就指定了一套标准接口(JDBC),JDBC中定义了所有

weixin_44853206的博客 899

JDBC学习笔记(一)—— JDBC概述

01、JDBC概述 1.1、数据的持久化 持久化:把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化“,而持久化的实现过程大多通过各种关系数据库来完成。 持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。 1.2、Java中的数据存储技术 1、在java中,数据库存储技术可分为如下几类: JDBC直接访问数据库 JDO(Java data object)技术 第三方O/R工具,

kuaixiao0217的博客 1007

Java操作数据库 —— JDBC ① 基础篇

JDBC 就是使用Java语言操作关系型数据库的一套API全称:(JavaDataBaseConnectivity)意为Java 数据库连接// 在类中写入@Test,自动导入org.junit.Test,便不用重复写main函数// 单行单列查询@Test// 1.注册驱动// 2.获取连接// 用户名// 密码// 3.预编译SQL语句得到PreparedStatement对象// 4.执行语句 获取结果。

m0_73983707的博客 2027

JDBC核心技术(笔记一)

目录一、JDBC概述1、数据的持久化2、Java 中的数据存储技术3、JDBC基础4、JDBC体系结构5、JDBC API6、JDBC程序访问数据库步骤二、获取数据库连接1、Driver 接口2、加载与注册 JDBC 驱动3、建立连接(Connection)4、几种常用数据库的JDBC URL4、使用Statement操作数据表的弊端 一、JDBC概述 1、数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中

diaolove的博客 1419

[JDBC学习笔记] JDBC

摘要:JDBC是Java操作关系型数据库的标准API,通过定义统一的接口实现不同数据库的兼容操作。主要流程包括注册驱动、获取连接、执行SQL等步骤。核心API包括DriverManager(驱动管理)、Connection(连接对象)、Statement(SQL执行)和ResultSet(结果集)。PreparedStatement可预防SQL注入,提高安全性。数据库连接池(如Druid)通过复用连接提高性能,需配置DataSource获取连接。JDBC简化了Java与数据库的交互,实现了代码与数据库的解耦

qq_58547683的博客 960

Java笔记——Java-JDBC

setXxx()方法有两个参数,第一个参数是要设置的SQL语句中的参数的索引(从1开始),第二个参数时设置的SQL语句中的参数的值;JDBC API是一系列的接口,他统一和规范了应用程序与数据库的链接、执行SQL语句,并得到返回结果等各类操作,相关类和接口在java.sql与javax.sql包中。1)JDBC程序中当一个Connection对象创建时,默认情况下是自动提交事务:每次执行一个SQL语句时,如果执行成功,就会向数据库自动提交事务,不能回滚;不同的数据库厂商,需要针对这套接口,提供不同实现;

a25847a的博客 778

JDBC学习笔记

JDBC学习

2301_80073794的博客 973
上一篇: 【马士兵】JAVA自学之路 七:路线图明细
下一篇: Java JDBC 理论笔记(二)
zero_spy
博客等级 码龄17年 24粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值