Oracle_JDBC编程

一、JDBC简介

1.JDBC是Java DataBase Connectivity的缩写。它是Sun的Javasoft公司制定的Java数据库连接技术,是一套标准接口。

2.在Java.sql包中提供了JDBC API,开发人员可以通过它连接到各种数据库系统,编写访问数据库的程序。

3.JDBC API不能直接访问数据库,它依赖于数据库厂商提供的JDBC Driver(JDBC驱动程序)。

4.使用Java和JDBC开发的程序可以跨数据库平台运行,受数据库限制很少。

二、JDBC编程涉及的三个部分

1.应用程序-- ---开发人员编写的客户端程序。

在应用程序中调用JDBC API,将SQL语句发送到数据库并检索结果。

2.驱动程序管理器 -----JDBC将驱动程序管理器负责使用正确的JDBC驱动程序和连接信息访问数据库,在Java应用程序和数据库系统之间建立连接。

3.驱动程序-----驱动程序由数据库厂商提供,实现数据库驱动接口,能够把SQL指令正确的发送的数据库服务器。

三、java.sql包中常用的接口和类包括:

①Driver接口和DriverManager类

②Connection

③Statement或者PreparedStatement

④ResultSet

五、Driver接口和DriverManager类

1.所有的JDBC驱动程序都必须实现Driver接口,JDBC驱动程序由数据库厂商提供,所以必须把JDBC驱动程序加入到项目中。

2.DriverManager用来建立和数据库的连接以及管理JDBC驱动程序。

六、Connection

1.Connection代表Java程序和数据库的连接。在连接上下文中执行 SQL 语句并返回结果 。

2.Connection的常用方法如下:

①createStatement()创建并返回Statement对象;

②preparedStatement(String sql)创建并返回PreparedStatement对象。

七、Statement

1.Statement接口定义了一组数据库操作的方法,可以通过此接口的实现类对象执行SQL命令。

2.Statement 对象的方法:

①executeUpdate() 用来创建和更新表 stmt.executeUpdate(query);

②executeQuery() 对于select语句,返回ResultSet ResultSet rs = stmt.executeQuery(query);

③execute() 返回布尔值,用于执行任何 SQL 语句 stmt.execute();

八、PreparedStatement

1.PreparedStatement表示预编译的 SQL 语句的对象,是Statement的子接口,扩展了Statement的功能。

2.PreparedStatement接口使我们可以使用占位符(?)作为参数定义一条SQL语句。

3.占位符是在SQL语句中出现的标记符,在SQL语句执行之前会被替换成实际的值。

4.通过调用connection.preparedStatement()方法来生成PreparedStatement对象。

5.设置查询参数

九、ResultSet

1.ResultSet表示select语句查询得到的结果集。

2.ResultSet中记录的行号从1开始,一个Statement对象在同一时刻只能打开一个ResultSet对象。

3.调用ResultSet的next()方法,可以使游标定位到下一条记录。

4.调用ResultSet的getXXX()方法,可以取得某个字段的值。

十、从SQL到Java的数据类型

从一个JDBC数据源检索数据的时候,ResultSet实现了把SQL数据类型映射到Java数据类型上。

十一、JDBC访问数据库步骤

1.装载并注册数据库的JDBC驱动程序:

Class.forName( "oracle.jdbc.driver.OracleDriver");

2.建立与数据库的连接:

Connection conn = DriverManager.getConnection(url,user,pwd);

3.创建Statement对象,准备调用sql语句或创建PreparedStatement对象。

Statement stm=conn.createStatement();

PreparedStatement pstm = conn.preparedStatement(sql);

4.执行SQL语句,获取结果集(select操作)。

Statement对象:ResultSet rs=stm.executeQuery(sql);

PreparedStatement对象:ResultSet rs=pstm.executeQuery();

5.访问ResultSet中的记录集。

while(rs.next())     {     String col1=rs.getString(1);     String col2=rs.getString(2);     int col3=rs.getInt(3);         …     }

6.依次关闭ResultSet、Statement/PrearedStatement和Connection对象。

发布了74 篇原创文章 · 获赞 32 · 访问量 9957

猜你喜欢

转载自blog.csdn.net/qq_41629684/article/details/104415044