JDBC连接Oracle数据

JDBC连接Oracle数据

ID:40848263

大小:232.51 KB

页数:28页

时间:2019-08-08

上传者:U-145848
JDBC连接Oracle数据_第1页
JDBC连接Oracle数据_第2页
JDBC连接Oracle数据_第3页
JDBC连接Oracle数据_第4页
JDBC连接Oracle数据_第5页
资源描述:

《JDBC连接Oracle数据》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

JDBC连接Oracle数据库 Java程序和JDBC及数据库系统的关系Java应用程序数据库数据库JDBCAPIJDBC驱动程序管理器JDBC/ODBC桥ODBC驱动程序JDBC驱动程序 传统C/S(客户/服务)器模式客户端JDBC数据库服务器数据库协议(数据库驱动程序) B/S(浏览器/服务器)应用程序客户端浏览器中间层(业务逻辑)JDBC数据库服务器HTTP协议数据库协议 JDBC开发过程裁入某种数据库的驱动程序与某一个数据库建立连接对数据库进行查询对数据库进行更新插入数据修改数据删除数据SELECTINSERTUPDATEDETELE JDBC中常用的类型DriverManagerConnectionStatement(PreparedStatement)ResultSet SQLJDBC工作流程驱动管理器连接语句结果集创建创建创建驱动程序数据库数据DriveMangerConnectionStatementPreparedStatementResultSetgetconnectioncreateStatmentexecuteQuery JDBC连接数据过程加载数据库驱动创建数据库连接创建语句对象通过语句对象向数据库发送并执行sql语句得到数据库的结果集(可选) 数据库驱动ODBC驱动sun.jdbc.odbc.JdbcOdbcDriverOracle驱动oracle.jdbc.driver.OracleDriver 加载驱动加载驱动Class.forName("sun.jdbc.odbc.JdbcOdbcDriver“)Class.forName("oracle.jdbc.driver.OracleDriver“)注意加载驱动需要导入第三方驱动包 创建数据库连接相关信息数据库URL数据库连接用户名数据库连接密码 数据库URLJDBC使用URL来标识驱动程序和数据源两者的位置,格式如下,jdbc::jdbc:<指定JDBC驱动程序>:<数据源标识>例子如下:jdbc:odbc:TestDBjdbc:oracle:thin:@172.23.0.233:1521:ora 创建数据库连接创建数据库连接Connectioncon=DriverManager.getConnection("jdbc:oracle:thin:@172.23.0.233:1521:ora","scott","tiger"); 创建语句对象(增删改)Stringsql="insertintoadminvalues(‘张三’,20)";Statementstmt=con.createStatement();introw=stmt.executeUpdate(sql);对于增删改的操作,主要的变化在于SQL语句。连接对象和语句对象使用完毕必须释放资源stmt.close();con.close(); 查询操作Stringsql=“select*fromadmin";Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery(sql); 对于结果集的操作结果集游标con.createStatement()等价于con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY)游标的移动类型、游标的操作类型 ResultSet其他常量游标指针移动类型TYPE_FORWARD_ONLY表示游标只能向前移动。TYPE_SCROLL_INSENSITIVE双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。TYPE_SCROLL_SENSITIVE双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。 ResultSet其他常量游标指针操作类型CONCUR_READ_ONLY结果集只读操作CONCUR_UPDATABLE结果集可更新操作 ResultSet常用方法游标操作方法booleannext()booleanprevious()booleanabsolute(introw)booleanfirst()booleanlast()voidafterLast()voidbeforeFirst()booleanisAfterLast()booleanisBeforeFirst()booleanisFirst()booleanisLast() ResultSet常用方法获得结果集指针对于的数据TypegetType(StringcolumnLabel)TypegetType(intcolumnIndex)关闭结果集voidclose(); 通过结果集插入数据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(); PreparedStatement解决sql注入问题。能够动态赋值sql参数。Stringsql=“Updateadminsetname=?,age=?”PreparedStatementpstmt=con.prepareStatement(sql); 使用PreparedStatement对象Stringsql=“Updateadminsetname=?,age=?”用set方法给主机变量赋值:pstmt.setString(1,”张三”);pstmt.setString(2,20);执行SQL语句pstmt.executeUpdate();关闭语句pstmt.close(); CallableStatementStringsql=“{?=callget_age(?)}”cstmt.registerOutParameter(1,java.sql.Types.INTEGER);cstmt.setString(2,"aa");cstmt.execute();intage=cstmt.getInt(1); 关于事务的实现事务:代表着一系列的操作语句。事务只有两个状态,要么成功,要么失败。成功时提交,失败时回滚。举例如下:con.getAutoCommit(false);Statementstmt=con.createStatement()try{stmt.executeUpdate(command1);stmt.executeUpdate(command2);stmt.executeUpdate(command3);…………}catch(SQLExceptione){con.rollback();}con.commit(); List有序可重复Set加有参和无参

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭