[转载]JDBC笔记(一)

本文介绍了JDBC的基础知识,包括访问数据库的基本步骤、驱动程序的加载方法、连接URL的定义、数据库连接的建立与使用等。此外,还详细讲解了如何通过Statement对象执行SQL语句并处理结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JDBC
  Java Database Connectivity (JDBC)是一个标准的Java API,它由一组类和接口组成,Java应用程序开发人员使用它来访问数据库和执行SQL语句。WebLogic JDBC是JDBC规范的企业级实现,它为标准的JDBC API提供了大量的扩展

JDBC基础知识

一、采用JDBC访问数据库的基本步骤:
A.载入JDBC驱动程序
B.定义连接URL
C.建立连接
D.创建Statement对象
E.执行查询或更新
F.结果处理
G.关闭连接

二、载入JDBC驱动程序:
1.为了使代码尽可能地灵活,我们要避免对类名的引用进行硬编码(hard-coding),因此我们可以采用从Properties文件中载入驱动程序的方法,也可以使用在服务器中配置数据源(DataSource)的方法来避免在代码中硬编码

2.在开发过程中要保证CLASSPATH设定中包括驱动程序JAR文件所在的路径。在WEB服务
器上部署时要将JAR文件放在Web应用的WEB-INF/lib目录下。如果多个Web应用使用相同的数据库驱动程序可以将JAR文件放置在服务器使用的公共目录<%CATALINA_HOME%>\common\lib中

三、定义连接URL:
载入JDBC驱动程序之后,必须指定数据库服务器位置。指向数据库的URL所使用的协议是:
jdbc:子协议,并且载入服务器的主机名、端口、数据库名(或引用)。如:Oracle 的连接URL: 
jdbc:oracle:thin:@192.168.0.71:1521:UMV2
jdbc:oracle:采用Oracle驱动程序
thin:指连接服务器所采用的模式
@192.168.0.71:服务器的地址
1521:服务器的监听端口
UMV2:数据库名

四、建立连接:
1.一个数据库连接(Connection)可以通过其自身的getMetaData()来获取它的自身信息
2.默认情况下一个数据库的连接是自动提交模式的(auto-commit),也就是说每当一个SQL语句
被执行后其改变结果都会被自动提交,如果auto-commit模式被关闭,那么方法commit()必须被显式调用以提交改变结果,否则的话所有对数据库操作的结果都不会被保存

五、创建Statement对象:
在同一时间下,每个Statement对象只能打开一个ResultSet对象。所以,假如有两个同样结果的结果集在交叉访问,那么这两个结果集必定为两个不同的Statement对象所创建。如果在打开一个新的结果集的时候存在一个已经打开的结果集,则这个已经存在的结果集会被隐式的关闭

六、执行查询或更新:
在Statement对象中可以执行如下的操作:
A.查询操作:executeQuery(SQL语句) B.维护操作:executeUpdate(SQL语句)
C.批处理操作:executeBath()

七、结果处理:
1.ResultSet中行的第一列索引为1,而非0,访问ResultSet中的数据时要使用列名,而非索引
 但要注意使用列名作为查询条件是大小写敏感的。

2.JDBC1.0中,我们只能在ResultSet中向前移动;在JDBC2.0中,我们可以在ResultSet中向
 下(next)或向上(previous)移动,同样也可以移到特定的行(relative,absolute)

3.默认情况下ResultSet是不可更新的,且只能向前移动。下面的代码显示了如何创建一个可滚动的、对更新敏感的ResultSet

Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
// rs will be scrollable, will not show changes made by others,
// and will be updatable

4.ResultSet和ResultSetMetaData没有直接提供方法返回查询所返回的行数。然而,在JDBC
 2.0中,可以通过调用last()方法将游标定位到ResultSet的最后一行,然后调用getRow()方
 法获取当前的行号。在JDBC1.0中,确定行数的惟一方式是重复调用ResultSet的next()方法,
 直到它返回false为至

八、关闭连接:
在关闭数据库连接时应该以ResultSet、Statement、Connection的顺序进行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值