Javaweb学习笔记(JDBC入门)

本文介绍了JDBC的基础知识,包括JDBC概述、常用API、实现第一个JDBC程序的步骤,详细讲解了Driver、DriverManager、Connection、Statement、PreparedStatement、CallableStatement、ResultSet等接口和类的使用,并给出了实例代码。此外,还涉及了数据库连接、资源释放、PrepareStatement和CallableStatement的优势,以及ResultSet的处理。最后,展示了如何通过JDBC进行数据库的基本操作。
摘要由CSDN通过智能技术生成

JDBC概述

JDBC全称是Java数据库连接,是一套用于执行SQL语句的Java API,应用程序可以通过JDBC连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除操作。
JDBC实现包括三部分:
(1)JDBC驱动管理器:负责注册特定的JDBC驱动器,主要通过java.sql.DriverManager类实现。
(2)JDBC驱动器API:最主要的接口是java.sqlDriver接口
(3)JDBC驱动器:一种数据库驱动,也称JDBC驱动程序,实现了JDBC驱动器API负责与特定的数据库连接,以及处理通信细节。

JDBC常用API

(1)Driver接口
Driver接口是所有JDBC驱动程序都必须实现的接口,该接口专门提供给数据库厂商使用,在编写JDBC程序时必须要把制定数据库驱动程序或类库加载到项目classpath中。
(2)DriverManager类
DriverManager类用于加载JDBC驱动并且创建于数据库的连接,其中定义了两个比较重要的静态方法:

方法名称 功能描述
registerDriver(Driver Driver) 该方法用于向DriverManager中注册的指定的JDBC驱动程序
getConnection(String url,String user,String pwd) 该方法用于建立和数据库的连接,并返回表示连接的Connection对象。

(3)Connection接口
Connection接口代表Java程序和数据库连接,在Connection接口中,定义了一系列方法:

方法名称 功能描述
getMetaData() 该方法用于返回表示数据库的元数据的DatabaseMetaData对象
createStatement() 用于创建一个Statement对象来将SQL语句发送到数据库
prepareStatement(String sql) 用于创建一个prepareStatement对象将参数化的SQL语句发送到数据库
prepareCall(String sql) 用于创建一个CallableStatement对象来调用数据库存储过程

(4)Statement接口
Statement接口用于向数据库发送SQL语句,在Statement接口中,提供了三个执行SQL语句的方法。

方法名称 功能描述
excute(String sql) 用于执行各种SQL语句,该方法返回一个boolean类型的值,如果为true表示执行的SQL语句具备查询结果,可以通过Statement的getResultSet()方法获得查询结果
excuteUpdate(String sql) 用于执行SQL中的insert、update和delete语句,该方法返回一个int类型的值,表示数据库受该SQL语句影响的记录的数目。
excuteQuery(String sql) 用于执行SQL语句中的select语句,该方法返回一个表示查询结果的ResultSet对象

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

方法名称 功能描述
excuteUpdate() 在此PrepareStatement对象中执行SQL语句,该语句必须是一个DML语句或者是无返回内容的SQL语句
excuteQuery() 在此PrepareStatement对象中执行SQL语句,该方法返回的是ResultSet对象
setInt(int paremeterIndex,int x) 将指定参数设置为给定的int值
setFloat(int pareameterIndex,float x) 将指定参数设置为给定的float值
setString(int parameterIndex,String x) 将指定参数设置为给定的String值
setDate(int parameterIndex,Dtae x) 将指定参数设置为给定的Date值
addBatch() 将一组参数添加到此PreparedStatement对象的批处理命令
setCharacterStream(parameterIndex reader,length) 将指定的输入流写入数据库的文本字段
setBinaryStream(parameterIndex,x,length) 将二进制的输入流数据写入到二进制字段中

(6)CallableStatement接口
CallableStatement是PreparedStatement的子接口,用于执行SQL存储过程。

方法名称 功能描述
registerOutParamenter(int pareameterIndex,int sqlType) 按顺序位置将OUT参数注册为SQL类型。其中paremeterIndex表示顺序位置,sqlType表示SQL类型
setNull(String paramterName,int sqlType) 将指定参数设置为SQL类型的NULL
setString(String parameterName,String x) 将指定参数设置为给定的Java类型的String
wasNull() 查询最后一个读取的OUT参数是否为SQL类型的NULL值
getInt(int parameterIndex) 以Java语言中int值的形式获取指定的数据库中的INTEGER类型的值

(7)ResultSet接口
ResuleSet接口表示select查询语句得到的结构集,该结果集封装在一个逻辑表格中。在ResultSet接口内部有一个指向表格数据行的游标,ResultSet对象初始化时,游标在表格的第一行之前。

方法名称 功能描述
getString(int columnIndex) 用于获取指定字段String类型的值,参数columnIndex代表字段的索引。
getString(String columnName) 用于获取指定字段String类型的值,参数columnIndex代表字段的名称
getInt(int columnIndex) 用于获取指定字段int类型的值,参数columnIndex代表字段的索引
getInt(String columnIndex) 用于获取指定字段类型的值
getDate(int columnIndex) 用于获取指定字段的int类型的值,参数columnIndex代表字段的索引
getDate(String columnIndex) 用于获取指定字段的int类型的值,参数columnIndex代表字段的名称
next() 将游标从当前位置向下移一行
absolute(int row) 将游标移动到此ResultSet对象的指定行
afterLast() 将游标移动到此ResultSet对象的末尾,级最后一行之后
beforeFirst() 将游标移动到ResultSet对象的开头
previous() 将游标移动到此ResultSet对象的上一行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值