jdbc_连接_oracle_数据库

上传人:千****8 文档编号:118644672 上传时间:2019-12-21 格式:PPT 页数:28 大小:232.50KB
返回 下载 相关 举报
jdbc_连接_oracle_数据库_第1页
第1页 / 共28页
jdbc_连接_oracle_数据库_第2页
第2页 / 共28页
jdbc_连接_oracle_数据库_第3页
第3页 / 共28页
jdbc_连接_oracle_数据库_第4页
第4页 / 共28页
jdbc_连接_oracle_数据库_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《jdbc_连接_oracle_数据库》由会员分享,可在线阅读,更多相关《jdbc_连接_oracle_数据库(28页珍藏版)》请在金锄头文库上搜索。

1、JDBC 连接 Oracle 数据库 Java程序和JDBC及数据库系统的关 系 Java应用程序 数据库 数据库 JDBC API JDBC 驱动程序管理器 JDBC/ODBC桥 ODBC驱动程序 JDBC驱动程序 传统C/S(客户/服务)器模式 客户端JDBC 数据库 服务器 数据库协议(数据库驱动程序) B/S(浏览器/服务器)应用程序 客户端 浏览器 中间层 (业务逻辑) JDBC 数据库 服务器 HTTP协议数据库协议 JDBC开发过程 裁入某种数据库的驱动程序 与某一个数据库建立连接 对数据库进行查询对数据库进行更新 插入数据修改数据删除数据 SELECT INSERTUPDATE

2、DETELE JDBC中常用的类型 DriverManager Connection Statement(PreparedStatement) ResultSet SQL JDBC工作流程 驱动管理器连接语句结果集 创建创建 创建 驱动程序 数据库 数据 DriveManger Connection Statement PreparedStatement ResultSet getconnectioncreateStatment executeQuery JDBC连接数据过程 1. 加载数据库驱动 2. 创建数据库连接 3. 创建语句对象 4. 通过语句对象向数据库发送并执行sql语句 5.

3、得到数据库的结果集(可选) 数据库驱动 ODBC驱动 sun.jdbc.odbc.JdbcOdbcDriver Oracle驱动 oracle.jdbc.driver.OracleDriver 加载驱动 加载驱动 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver“) Class.forName(oracle.jdbc.driver.OracleDriver“) 注意加载驱动需要导入第三方驱动包 创建数据库连接 相关信息 数据库URL 数据库连接用户名 数据库连接密码 数据库URL JDBC使用URL来标识驱动程序和数据源两 者的位置,格式如下, jdbc:

4、jdbc: 例子如下: jdbc:odbc:TestDB jdbc:oracle:thin:172.23.0.233:1521:ora 创建数据库连接 创建数据库连接 Connection con= DriverManager.getConnection( jdbc:oracle:thin:172.23.0.233:1521:ora, scott, tiger); 创建语句对象(增删改) String sql = insert into admin values(张三,20); Statement stmt = con.createStatement(); int row = stmt.exe

5、cuteUpdate(sql); 对于增删改的操作,主要的变化在于SQL语句 。 连接对象和语句对象使用完毕必须释放资源 stmt.close(); con.close(); 查询操作 String sql = “select * from admin; Statement stmt = con.createStatement(); ResultSet rs = stmt. executeQuery(sql); 对于结果集的操作 结果集游标 con.createStatement() 等价于 con.createStatement(ResultSet.TYPE_FORWAR D_ONLY, R

6、esultSet.CONCUR_READ_ONLY) 游标的移动类型、游标的操作类型 ResultSet其他常量 游标指针移动类型 TYPE_FORWARD_ONLY 表示游标只能向前移动。 TYPE_SCROLL_INSENSITIVE 双向滚动,但不及时更新,就是如果数据库里 的数据修改过,并不在ResultSet中反应出来。 TYPE_SCROLL_SENSITIVE 双向滚动,并及时跟踪数据库的更新,以便更改 ResultSet中的数据。 ResultSet其他常量 游标指针操作类型 CONCUR_READ_ONLY 结果集只读操作 CONCUR_UPDATABLE 结果集可更新操作

7、ResultSet常用方法 游标操作方法 boolean next() boolean previous() boolean absolute(int row) boolean first() boolean last() void afterLast() void beforeFirst() boolean isAfterLast() boolean isBeforeFirst() boolean isFirst() boolean isLast() ResultSet常用方法 获得结果集指针对于的数据 Type getType (String columnLabel) Type getTy

8、pe (int columnIndex) 关闭结果集 void close(); 通过结果集插入数据 rs.moveToInsertRow(); rs.updateString(name, cc); rs.updateInt(age, 33); rs.insertRow(); rs.moveToCurrentRow(); 通过结果集删除数据 rs.absolute(1); rs.deleteRow(); 通过结果集修改操作 rs.absolute(1); rs.updateInt(age, 100); rs.updateRow(); PreparedStatementPreparedState

9、ment 解决sql注入问题。 能够动态赋值sql参数。 String sql=“ Update admin set name=?,age=?” PreparedStatement pstmt=con.prepareStatement(sql); 使用PreparedStatement对象 String sql = “Update admin set name=?,age=?” 用set方法给主机变量赋值: pstmt.setString(1,”张三”); pstmt.setString(2,20); 执行SQL语句 pstmt.executeUpdate(); 关闭语句 pstmt.clos

10、e(); CallableStatement String sql = “? = call get_age(?)” cstmt.registerOutParameter(1, java.sql.Types.INTEGER); cstmt.setString(2, aa); cstmt.execute(); int age = cstmt.getInt(1); 关于事务的实现 事务:代表着一系列的操作语句。事务只有 两个状态,要么成功,要么失败。成功时提 交,失败时回滚。 举例如下: con.getAutoCommit(false); Statement stmt=con.createStatement() try stmt.executeUpdate(command1); stmt.executeUpdate(command2); stmt.executeUpdate(command3); catch(SQLException e)con.rollback( ); mit( ); List 有序可重复 Set 加有参和无参

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业信息化/信息管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号