java.sql包提供使用Java编程语言访问并处理存储在数据源中数据的API,可以动态地安装不同驱动程序来访问不同数据源。

下面,详解java.sql包中包含的常用的接口和类

1、DriverManager类

负责管理JDBC驱动程序,使用JDBC驱动程序之前,必须先将驱动程序加载并向DriverManager注册后才可以使用,同时提供方法来建立与数据库的连接。

常用方法

Class.forName(String driver,2);

说明:加载注册驱动程序

Static Connection getConnection(String url,String user,String password) throws SQLException;

说明:取得对数据库的连接

Static Driver getDriver(String url) throws SQLException

说明:在已经向DriverManager注册的驱动程序中寻找一个能够打开URL所指定的数据库的驱动程序

2、Connection接口

负责维护JSP、Java数据库程序和数据库之间的联机。通过它,可以建立3个非常有用的类对象。

常用方法

Statement createStatement() throws SQLExcetpion;

说明:建立Statement类对象

Statement createStatement(int resultSetType,int resultSetConcurrency) throws SQLException;

说明:建立Statement类对象,其中参数的意义如下:

resultSetType

TYPE_FORWARD_ONLY结果集不可滚动

TYPE_SCROLL_INSENSITIVE结果集可滚动,不反映数据库的变化

TYPE_SCROLL_SENSITIVE结果集可滚动,反映数据库的变化

resultSetConcurrency

CONCUR_READ_ONLY不可以用结果集更新数据

CONCUR_UPDATABLE可以用结果集更新数据

只有JDBC2.0以上版本才支持滚动的结果集。而且可以对数据进行更新。

DatabaseData getData() throws SQLException;

说明:建立DatabaseData类对象

PreparedStatement prepareStatement(String sql) throws SQLException;

说明:建立PreparedStatement类对象

Boolean getAutoCommit() throws SQLException

说明:返回Connection类对象的AutoCommit状态

Void commit() throws SQLException

说明:确定执行对数据库新增、删除或修改记录的操作

Void rollback() throws SQLException

说明:取消执行对数据库新增、删除或修改记录的操作

Void close() throws SQLExcetpion

说明:结束Connection对象数据库的联机

Boolean isClosed() throws SQLException

说明:测试是否已经关闭connection类对象对数据库的联机

3、Statement类

通过Statement类所提供的方法,可以利用标准的SQL命令,对数据库直接进行增、删或改操作。

常用方法:

ResultSet executeQuery(String sql) throws SQLException

说明:使用select命令对数据库进行查询

Int executeUpdate(String sql) throws SQLException

说明:使用insert、delete、update对数据库进行增、删、改操作

Void close() throws SQLException

说明:结束Statement类对象对数据库的联机

4、PreparedStatement接口

PreparedStatement类和Statement类的不同之处在于PreparedStatement类对象会将传入的SQL命令事先编好以等待使用,当有单一的SQL指令需要多次执行时,用PreparedStatement类比Statement类效率高。

常用方法

ResultSet executeQuery() throws SQLException

说明:使用select命名对数据库进行查询

Int executeUpdate() throws SQLException

说明:使用insert、delete、update对数据库进行增、删、改操作。

ResultSetData getData() throws SQLException

说明:取得ResultSet类中的对象和有关字段的相关信息

Void setInt(int parameterIndex,int x) throws SQLException

说明:设置整数类型数值给PreparedStatement类对象的IN参数

Void setFloat(int parameterIndex,float x) throws SQLException

说明:设置浮点数类型数值给PreparedStatement类对象的IN参数

Void setNull(int parameterIndex,int sqlType) throws SQLException

说明:设置NULL类型数值给PreparedStatement类对象的IN参数

Void setString(int parameterIndex,String x) throws SQLException

说明:设置字符串类型数值给PreparedStatement类对象的IN参数

Void setDate(int parameterIndex,Date x) throws SQLException

说明:设置日期类型数值给PreparedStatement类对象的IN参数

Void setTime(int parameterIndex,Time x) throws SQLException

说明:设置时间类型数值给PreparedStatement类对象的IN参数

5、CallableStatement接口

CallableStatement接口对所有的DBMS提供了一种以标准形式调用存储过程的方法。存储过程存储在数据库中。对存储过程的调用是CallableStatement对象所包含的内容。这种调用是用一种换码语法来写的,有2种形式:一种是带结果参数,另一种不带结果参数。结果参数是一种输出(OUT)参数,是存储过程的返回值。2种形式都可带有数量可变的输入(IN参数)、输出(OUT参数)或输入和输出(INOUT参数)的参数。文号将用作参数的占位符。

常用方法:

Public void registerOutParameter(int parameterIndex,int sqlType) thorws SQLException

说明:设置时间类型数值给PreparedStatement类对象的OUT参数

ResultSet executeQuery() throws SQLException

说明:使用SELECT命令对数据库进行查询

Int executeUpdate() throws SQLException

说明:使用insert、delete、update对数据库进行增、删、改操作。

6、DatabaseMetaData接口

DatabaseMetaData类保存了数据库的所有特性,并且提供许多方法来获得这些信息。

常用方法:

String getDatabaseProductName() throws SQLException

说明:获取数据库名称

String getDatabaseProductVersion() throws SQLException

说明:获得数据库版本代号

String getDriverName() throws SQLException

说明:获得JDBC驱动程序名称

String getDriverVersion() throws SQLException

说明:获得JDBC驱动程序的版本代号

String getURL() throws SQLException

说明:获得连接数据库的JDBC URL

String getUserName() throws SQLException

说明:获得登录数据库的使用者账号

7、ResultSet接口

该接口负责存储数据库查询的结果,并提供一些列的方法对数据库进行增、删、改操作。此外还负责维护记录指针(Cursor),记录指针即指向数据表中的某个记录,通过适当的移动记录指针,可以随心所欲地存取数据库,提高程序的效率。

常用方法:

Boolean absolute(int row) throws SQLException

说明:移动记录指针到指定的记录

Void beforeFirst() throws SQLException

说明:移动记录指针到第一条记录之前

Void afterLast() throws SQLException

说明:移动记录指针到最后一条记录之后

Boolean first() throws SQLException

说明:移动记录指针到第一条记录

Boolean last() throws SQLException

说明:移动记录指针到最后一条记录

Boolean next() throws SQLException

说明:移动记录指针到下一条记录

Boolean previous() throws SQLException

说明:移动记录指针到上一条记录

Void deleteRow() throws SQLException

说明:删除记录指针指向的记录

Void moveToInsertRow() throws SQLException

说明:移动记录指针新增一条记录

Void moveToCurrentRow() throws SQLException

说明:移动记录指针到被记忆的记录

Void insertRow() throws SQLException

说明:新增一条记录到数据库中

Void updateRow() throws SQLException

说明:修改数据库中的一条记录

Void update类型(int columnIndex,类型 x) throws SQLException

说明:修改指定字段的值

Int get类型(int columnIndex) throws SQLException

说明:获得指定字段的值

ResultSetData getData() throws SQLException

说明:获得ResultSetData类对象

8、ResultSetData类

ResultSetData类对象保存了所有ResultSet类对象中关于字段的信息,提供许多方法来获得这些信息。

常用方法:

Int getColumnCount() throws SQLException

说明:获得ResultSet类对象的字段个数

Int getColumnDisplaySize() throws SQLException

说明:获得ResultSet类对象的字段长度

String getColumnName(int column) throws SQLException

说明:获得ResultSet类对象的字段名称

String getColumnTypeName(int column) throws SQLException

说明:获取得ResultSet类对象的字段类型名称

String getTableName(int column) throws SQLException

说明:获得ResultSet类对象的字段所属数据表的名称

Boolean isCaseSensitive(int column) throws SQLException

说明:测试Resultset类对象的字段是否区分大小写

Boolean isReadOnly(int column) throws SQLException

说明:测试ResultSet类对象的字段是否为只读

9、Exceptions类

Exceptions是指面向对象的程序在执行出现错误时由内部所抛出的一个能反映错误所在的信息在java.sql中定义了如下集中Exceptions:

SQLException 当访问数据出现问题时由绝大多数方法抛出的例外有可能因为其他愿意抛出该例外

SQLWarning 抛出时提示一个警告错误

DataTruncation 外抛出时提示可能有数据截断

BatchUpdateException 抛出提示一个批处理中的命令没有全部执行成功

java语言sql接口_java.sql包中的类和接口及其使用相关推荐

  1. java中常用的包 类和接口_java.util包常用的类和接口

    标签:ash   可变   支持   set   组成   arraylist   层次结构   有序   结构 1. 常用接口 (1)Collection Collection 层次结构 中的根接口 ...

  2. java泛型与接口_Java泛型用于方法,类和接口

    什么是泛型? 型就是数据类型参数化.就是说原本定死的数据类型像方法中的形参一样,数据是不确定的,使用的时候由人传进去,泛型就是这样,数据类型不确定了.使用的时候再确定就可以了. 泛型的特点 是JDK1 ...

  3. java import lang_要使用lang包中的类,必须用import语句将java.lang程序包引入到源程序。...

    要使用l用it语源程科目汇总表账务处理程序的优点是( ). 摄影是做"减法"的,包必须包引画面上跟主题无关的物体越少越好. 流体包裹体相对于成岩矿物的相互叠置和结构位置关系,程序可 ...

  4. java 扫描类_Java扫描指定包中所有类

    1. 扫描类 import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import java.n ...

  5. java缺省包详解_Java在其它包中无法引用缺省包中的类

    1.现象 1.1 问题场景 最近,在写测试代码时,将一个类(这里暂且称为ClassA)放在在缺省包中,也就是说,直接放在了src目录下,没有创建包.然后,将这个类打入了jar文件,提供给另外的工程(这 ...

  6. java调用包中的类_java调用另一个包中的类的方法

    java调用另一个包中的类的方法 发布时间:2020-05-18 15:04:40 来源:亿速云 阅读:199 作者:小新 今天小编给大家分享的是java调用另一个包中的类的方法,相信很多人都不太了解 ...

  7. java语言修饰符$_Java语言中的修饰符

    类.方法.成员变量和局部变量可用修饰符 修饰符 类 成员方法 构造方法 成员变量 局部变量 Abstract √ √ Static √ √ Public √ √ √ √ Protected √ √ √ ...

  8. java byte 拓展_Java项目中如何扩展第三方jar包中的类?

    有些时候你对第三方得到jar包中的类并不是很满意,想根据实际情况做一些扩展.如果说第三方的jar包已经提供了一些可扩展的类,比如提供了Interceptor,Filter或者其他的类,那么使用原生的比 ...

  9. java 实现类转接口_JAVA 基础 / 第二十九课:接口与继承 / JAVA中的对象转型

    2018-03-19 一.明确引用类型与对象类型的概念 引用类型与对象类型的概念 在这个例子里,有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是ADHero 引用也是 ...

最新文章

  1. 最小二乘法的本质原理
  2. 写给程序员的有效学习方法
  3. exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合邮件发送
  4. canvas 圆角矩形填充_View绘制系列(9)Canvas八卦图绘制
  5. 您需要来自pc的权限才能_微信电脑版还是鸡肋吗?微信PC版3.0内测体验
  6. 区块链学习笔记:D03 区块链在各行业领域的应用(一)
  7. ubuntu 12 04下安装JDK7
  8. Python监控文件变化:watchdog
  9. C++ 虚函数表详解
  10. matlab九节点网络仿真问题,三机九节点电力系统仿真matlab
  11. kdj买卖指标公式源码_长短KDJ源码与kdj顶底背离指标公式(附图)
  12. 请使用hive udf或者spark udf实现父子关系树图分析,列举出所有的路径
  13. vba 关闭屏幕刷新
  14. 淘宝客如何通过闲鱼引流?淘宝客的推广方法有哪些?
  15. 如何用计算机制作动态图,怎样用电脑轻松制作GIF动图图片
  16. java数组包含某个元素_java中判断数组是否包含某元素的方法
  17. rasp 系统_OpenRASP管理后台安装记录
  18. 如何利用工时表来帮助项目管理做得更完善?
  19. 模块化多电平换流器matlab建模,模块化多电平换流器电磁暂态高效建模方法研究...
  20. 合并两个排序的整数数组A和B变成一个新的数组(归并排序)

热门文章

  1. 向数据库中插入千万级数据
  2. TP5框架低版本漏洞
  3. 【踩坑】vite项目使用ant<a-date-picker />提示报错 rr.isMoment is not a function 解决方法
  4. iOS智能家居、智能展厅控制应用的技术要点总结
  5. 转“给程序员新人的一封信”,不仅给新人,对于旧人一样合适
  6. 电脑自带的office不小心卸载掉了,怎么恢复原来的office呢?
  7. python中字符型用什么表示_「小白学Python」Python中最常用的数据类型:字符串
  8. Informatica常用组件使用方法
  9. python和node爬虫_node可以做爬虫吗?
  10. MagicalCoder系列教程(四):功能模块-我的项目