编写访问数据库的Java程序还需要几个重要的类和接口。

DriverManager类

DriverManager类处理驱动程序的加载和建立新数据库连接。DriverManager是java.sql包中用于管理数据库驱动程序的类。通常,应用程序只使用类DriverManager的getConnection()静态方法,用来建立与数据库的连接,返回Connection对象:

?

指定数据的URL用户名和密码创建数据库连接对象。url的语法格式是:

jdbc::。

Connection类

Connection类是java.sql包中用于处理与特定数据库连接的类。Connection对象是用来表示数据库连接的对象,Java程序对数据库的操作都在这种对象上进行。Connection类的主要方法有:

Statement createStatement():创建一个Statement对象。

Statement createStatement(int resultSetType,int resultSetConcurrency):创建一个Statement对象,生成具有特定类型的结果集。

void commit():提交对数据库的改动并释放当前持有的数据库的锁。

void rollback():回滚当前事务中的所有改动并释放当前连接持有的数据库的锁。

String getCatalog():获得连接对象的当前目录。

boolean isClose():判断连接是否已关闭。

boolean isReadOnly():判断连接是否为只读模式。

void setReadOnly():设置连接为只读模式。

void close():释放连接对象的数据库和JDBC资源。

Statement类

Statement类是java.sql包中用于在指定的连接中处理SQL语句的类。数据库编程的要点是在程序中嵌入SQL命令。程序需要声明和创建连接数据库的Connection对象,并让该对象连接数据库。调用类DriverManager的静态方法getConnection()获得Connection对象,实现程序与数据库的连。然后,用Statement类声明SQL语句对象,并调用Connection对象的createStatement()方法,创建SQL语句对象。例如,以下代码创建语句对象sql:

?

ResultSet类

有了SQL语句对象后,调用语句对象的方法executeQuery()执行SQL查询,并将查询结果存放在一个用ResultSet类声明的对象中,例如,以下代码读取学生成绩表存于rs 对象中:

?

ResultSet对象实际上是一个由查询结果数据的表,是一个管式数据集,由统一形式的数据行组成,一行对应一条查询记录。在ResultSet对象中隐含着一个游标,一次只能获得游标当前所指的数据行,用next方法可取下一个数据行。用数据行的字段(列)名称或位置索引(自1开始)调用形如getXXX()方法获得记录的字段植 。以下是ResultSet对象的部分方法:

byte getByte(int columnIndex):返回指定字段的字节值。

Date getDate(int columnIndex):返回指定字段的日期值。

float getFloat(int columnIndex):返回指定字段的浮点值。

int getInt(int columnIndex):返回指定字段的整数值。

String getString(int columnIndex):返回指定字段的字符串值。

double getDouble(String columnName):返回指定字段的双精度值。

long getLong(String columnName):返回指定字段的long型整值。

boolean next():返回是否还有下一字段。

以上方法中的columnIndex是位置索引,用于指定字段,columnName是字段名。

用户需要在查询结果集上浏览,或前后移动、或显示结果集的指定记录,这称为可滚动结果集。程序要获得一个可滚动结果集,只要在获得SQL的语句对象时,增加指定结果集的两个参数即可。例如,以下代码:

?

语句对象stmt的SQL查询就能得到相应类型的结果集。

int 型参数type决定可滚动集的滚动方式:

ResultSet.TYPE_FORWORD_ONLY,结果集的游标只能向下滚动。

ResultSet.TYPE_SCROLL_INSENSITIVE,游标可上下移动,当数据库变化时,当前结果集不变。

ResultSet. TYPE_SCROLL_SENSITIVE,游标可上下移动,当数据库变化时,当前结果集同步改变。

int 型参数concurrency决定数据库是否与可滚动集同步更新:

ResultSet.CONCUR_READ_ONLY,不能用结果集更新数据库中的表。

ResultSet.CONCUR_UPDATETABLE,能用结果集更新数据库中的表。

例如,以下代码利用连接对象connect,创建Statement对象stmt,指定结果集可滚动,并以只读方式读数据库:

?

可滚动集上另外一些常用的方法如下:

boolean previous():将游标向上移动,当移到结果集的第一行时,返回false。

void beforeFirst():将游标移结果集的第一行之前。

void afterLast():将游标移到结果集的最后一行之后。

void first():将游标移到第一行。

void last():将游标移到最后一行。

boolean isAfterLast():判游标是否在最后一行之后。

boolean isBeforeFirst():判游标是否在第一行之前。

boolean isLast():判游标是否在最后一行。

boolean isFirst():判游标是否在第一行。

int getRow():获取当前所指的行(行号自1开始编号,结果集空,返回0)。

boolean absolute(int row):将游标移到row行。

java常用的接口和类的说明,Java程序连接数据库的常用的类和接口介绍相关推荐

  1. mysql增删改查 工具类_Hibernate增删改查数据库之二工具类

    /** * Hibernate工具类(简单型) * 功能-完成会话工厂和会话的创建已经会话的关闭 * @author Owner * */ public class HibernateUtils { ...

  2. java mysql proxy_Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目...

    Amoeba(变形虫)项目是一个开源框架,于2008年开始发布一款 Amoeba for Mysql软件: 这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQ ...

  3. 使用IDEA插件从数据库表生成实体类

    目录 1.介绍 2.添加插件 ​ 3.创建数据库连接 4.添加数据库连接信息和驱动 5.表生成实体类 1.介绍 EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插 ...

  4. java 打印对象属性 工具类_关于java实现任意对象输出字符串的工具类ObjectUtils用户打印日志、接口调试及监控等...

    通过该对象工具类ObjectUtils(参考org.springframework.util.ObjectUtils)实现了类集.数组及基本数据类型转换及字符串输出,常用在日志输出打印.接口联调及对象 ...

  5. JAVA设计一个电视机类_漫谈Java程序设计中的接口应用

    Java语言提供了一种接口(interface)机制.这种接口机制使Java的面向对象编程变得更加灵活.我们可以用接口来定义一个类的表现形式,但接口不能包含任何实现.在<Thinking in ...

  6. java新特性-函数式接口-作为方法参数-作为方法的返回值-常用函数式接口-Supplier-Consumer-Predicate-Function

    文章目录 函数式接口 概念 函数式接口作为方法参数 函数式接口作为方法的返回值 常用函数式接口 Supplier接口 常用函数式接口 Consumer 函数式接口之 Predicate接口 常用接口之 ...

  7. 【Java 虚拟机原理】Class 字节码二进制文件分析 三 ( 访问和修饰标志 | 类索引 | 父类索引 | 接口计数器 | 接口表 | 字段计数器 | 字段表 )

    文章目录 前言 一.访问和修饰标志 二.类索引 三.父类索引 四.接口计数器 五.接口表 六.字段计数器 七.字段表 前言 上一篇博客 [Java 虚拟机原理]Class 字节码二进制文件分析 二 ( ...

  8. abstract类_012、Java的抽象方法、接口和String类

    1. 抽象方法和抽象类 ·抽象方法 使用abstract修饰的方法,没有方法体,只有声明.定义的是一种"规范",就是告诉子类必须要给抽象方法提供具体的实现. ·抽象类 包含抽象方法 ...

  9. java常用类的方法,java常用类的使用方法

    java常用类的使用方法 Interger:整数类型 1.属性. static int MAX_VALUE:返回最大的整型数: static int MIN_VALUE:返回最小的整型数: stati ...

最新文章

  1. 【视频】对RTSP抓包,分析通讯流程
  2. 更简单的调试Release版本Optimize code的.NET程序集
  3. Uva673 平衡的括号
  4. Linux 防火墙命令的操作命令CentOS
  5. iOS UIButton 图片文字上下垂直布局 解决方案
  6. 《Cassandra实战》CassSeller程序源代码下载
  7. Spring Security——基于读写锁的动态权限配置FilterInvocationSecurityMetadataSource实现类
  8. [转载]httpClient.execute抛Connection to refused异常问题
  9. 计算机科学与技术教师简介,清华大学计算机科学与技术系导师教师师资介绍简介-赵 颖...
  10. Requst Servervariables
  11. 2021高通人工智能应用创新大赛--创新赛道-决赛阶段小结
  12. iOS的一些小技巧[转]
  13. mysql查看已打开文件数_[MySQL FAQ]系列 -- mysql如何计算打开文件数
  14. python爬虫难度排行榜_无聊写了一个python爬虫程序,用来爬夕阳试炼场排行榜的...
  15. MongodB数据库安装教程
  16. ShadowGun 暗影之枪 项目源码,手机优化示例关卡
  17. 无线网络连接 wlan test
  18. 禅修内观 | 一个璀璨的思想成就
  19. 【visual studio】visual studio 2022 无法 复制黏贴
  20. java 面试题365

热门文章

  1. VSCode设置代码格式化
  2. 转载:主外键关联删除(on delete set null和on delete cascade)
  3. 重写和重载有什么区别
  4. 日语输入中的促音怎么输入
  5. Linux下vim的复制、粘贴操作
  6. 【计算机网络】IP协议分析
  7. matlab中e用什么表示什么,matlab中e怎么表示
  8. JavaBean 与 POJO
  9. 图解各种数据库数据源(ODBC)配置
  10. ADB卸载OPPO浏览器