前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据必学Java基础(九十八):JDBC API总结

大数据必学Java基础(九十八):JDBC API总结

原创
作者头像
Lansonli
修改2022-12-16 09:40:40
6290
修改2022-12-16 09:40:40
举报
文章被收录于专栏:Lansonli技术博客

JDBC API总结

一、Connection接口

作用:代表数据库连接

方法摘要

void

close () 立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放。

void

commit () 使所有上一次提交/回滚后进行的更改成为持久更改,并释放此 Connection 对象当前持有的所有数据库锁。

Statement

createStatement () 创建一个 Statement 对象来将 SQL 语句发送到数据库。

CallableStatement

prepareCall (String sql) 创建一个 CallableStatement 对象来调用数据库存储过程。

PreparedStatement

prepareStatement (String sql) 创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。

PreparedStatement

prepareStatement (String sql, int autoGeneratedKeys) 创建一个默认 PreparedStatement 对象,该对象能获取自动生成的键。

void

rollback () 取消在当前事务中进行的所有更改,并释放此 Connection 对象当前持有的所有数据库锁。

void

setAutoCommit (boolean autoCommit) 将此连接的自动提交模式设置为给定状态。

二、DriverManager类

作用:管理一组 JDBC 驱动程序的基本服务

应用程序不再需要使用 Class.forName() 显式地加载 JDBC 驱动程序。在调用 getConnection 方法时,DriverManager 会试着从初始化时加载的那些驱动程序以及使用与当前 applet 或应用程序相同的类加载器显式加载的那些驱动程序中查找合适的驱动程序。

方法摘要

static Connection

getConnection (String url) 试图建立到给定数据库 URL 的连接。

static Connection

getConnection (String url, Properties info) 试图建立到给定数据库 URL 的连接。

static Connection

getConnection (String url, String user, String password) 试图建立到给定数据库 URL 的连接。

三、Statement接口

作用:用于将 SQL 语句发送到数据库中,或理解为执行sql语句

有三种 Statement对象:

Statement:用于执行不带参数的简单SQL语句;

PreparedStatement(从 Statement 继承):用于执行带或不带参数的预编译SQL语句;

CallableStatement(从PreparedStatement 继承):用于执行数据库存储过程的调用。

方法

作用

ResultSet executeQuery(String sql)

执行SQL查询并获取到ResultSet对象

int executeUpdate(String sql)

可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数

四、PreparedStatement接口

关系:public interface PreparedStatement extends Statement

区别

PreparedStatment安全性高,可以避免SQL注入

PreparedStatment简单不繁琐,不用进行字符串拼接

PreparedStatment性能高,用在执行多个相同数据库DML操作时

五、ResultSet接口

ResultSet对象是executeQuery()方法的返回值,它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。

ResultSet里的数据一行一行排列,每行有多个字段,且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,就要使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。

ResultSet对象自动维护指向当前数据行的游标。每调用一次next()方法,游标向下移动一行。

初始状态下记录指针指向第一条记录的前面,通过next()方法指向第一条记录。循环完毕后指向最后一条记录的后面。

方法名

说 明

boolean next()

将光标从当前位置向下移动一行

boolean previous()

游标从当前位置向上移动一行

void close()

关闭ResultSet 对象

int getInt(int colIndex)

以int形式获取结果集当前行指定列号值

int getInt(String colLabel)

以int形式获取结果集当前行指定列名值

float getFloat(int colIndex)

以float形式获取结果集当前行指定列号值

Float getFloat(String colLabel)

以float形式获取结果集当前行指定列名值

String getString(int colIndex)

以String 形式获取结果集当前行指定列号值

StringgetString(String colLabel)

以String形式获取结果集当前行指定列名值

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​JDBC API总结
    • 一、Connection接口
      • 二、DriverManager类
        • 三、Statement接口
          • 四、PreparedStatement接口
            • 五、ResultSet接口
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档