ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:16.79KB ,
资源ID:3907691      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3907691.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java操作Oracle的基本方式总结.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java操作Oracle的基本方式总结.docx

1、Java操作Oracle的基本方式总结1、 连接数据库Package dusuzhong.Java.Oracle.Test;import java.sql.*;Public class ConnOraDB/* Class name: ConnOraDB* Class role: Connect to a oracle database* Author: Du suzhong* Date: 2010-5-4*/ private final String DBDRIVER = oracle.jdbc.driver.OracleDriver ;/驱动程序 private final String D

2、BURL = jdbc:oracle:thin:192.168.102.16:1521:Test ;/数据库地址 private final String DBUSER = dsz779 ; /数据库登录用户名 private final String DBPASSWORD = 123456 ; /数据库登录密码 private Connection conn = null; public ConnOraDB() /* * initial role: 完成对数据库的连接 */ try /加载数据库驱动程序 Class.forName(DBDRIVER); catch(Exception e)

3、System.out.println(Cant load dbdriver!- + e.getMessage(); try /连接到指定的数据库 conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD) ; catch(Exception e) System.out.println(Cant connect to the database!- + e.getMessage() ; public Connection getConnection() /* * 用来使其它类调用取得数据库连接 * return 数据库连接对象 */

4、return this.conn; 2、 单句执行函数Package dusuzhong.Java.Oracle.Test;import java.sql.*;public class ExecutSingle /* Class name: ExecutSinle* Class role: Execute single SQL* Author: Du suzhong* Date: 2010-5-4*/Private Connection conn = null; Private Statement stmt = null; Private ResultSet rs = null; Privat

5、e ResultSetMetaData rsmd = null; public ExecutSingle () Public void ExecuteQuery(String sql) /* * 执行单句查询,并显示结果 */ Integer numCols;String tempValue;try/取得数据库的连接conn = new ConnOraDB().getConnection() ; stmt = conn.createStatement(); rs = stmt.executeQuery(sql); rtmt= rs.getMetaData(); numCols=rtmt.get

6、ColumnCount(); while(rs.next() /System.out.print(编号: + rs.getInt(customer_id) ; /System.out.print(/姓名: + rs.getString(customer_name) ; /System.out.print(/性别: + rs.getString(customer_sex) ; /System.out.println(/电话: + rs.getString(customer_phone) ; for (int i = 1; i = numCols; i+) tempValue = rs.getSt

7、ring(i); if(tempValue = null) tempValue = ; list.add(tempValue); catch(Exception e) e.printStackTrace();finally try if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); catch (SQLException e) e.printStackTrace(); public void ExecuteSQL(String sql) /* * 执行单句操作 *

8、/ try conn = new ConnOraDB().getConnection() ; stmt = conn.createStatement(); /rs = stmt.executeQuery(sql); rs = stmt.executeUpdate(sql); catch (Exception e) e.printStackTrace(); finally try if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); catch (SQLExcepti

9、on e) e.printStackTrace(); 3、 存储过程执行3.1 无返回值的存储过程执行1、建立存储过程CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) IsBEGININSERT INTO T_TEST (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA;2、相应的JAVA程序Package dusuzhong.Java.Oracle.Test;import java.sql.*;import java.io.OutputStream;import

10、 java.io.Writer;import java.sql.PreparedStatement;import java.sql.ResultSet;import oracle.jdbc.driver.*;public class TestProcedureOne public TestProcedureOne() public static void main(String args )Connection conn = null;/Statement stmt = null;/ResultSet rs = null;/CallableStatement cstmt = null;try

11、conn = new ConnOraDB.getConneciton(); CallableStatement proc = null;/proc = conn.prepareCall( call Test.TESTA(?,?) );proc = conn.prepareCall( call TESTA(?,?) );proc.setString(1, 100); /参数1设置为“100”proc.setString(2, TestOne); / 参数2设置为“TestOne”proc.execute();catch (SQLException e) e.printStackTrace();f

12、inallytry if(rs != null)rs.close();if(stmt!=null)stmt.close();if(conn!=null)conn.close(); catch(Eexeption e) Exit(0); 注:调用存储过程时,切勿在call语句的前后使用空格。3.2 有返回值的存储过程执行1、存储过程为CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2) IsBEGINSELECT INTO PARA2 FROM TESTTB WHERE I_ID= PARA1;END TE

13、STB;2、JAVA代码Package dusuzhong.Java.Oracle.Test;import java.sql.*;import java.io.OutputStream;import java.io.Writer;import java.sql.PreparedStatement;import java.sql.ResultSet;import oracle.jdbc.driver.*;public class TestProcedureTWO public TestProcedureTWO() public static void main(String args )Conn

14、ection conn = null;Statement stmt = null;ResultSet rs = null;CallableStatement proc = null;try conn = new ConnOraDB.getConnection(); proc = conn.prepareCall( call TESTB(?,?) ); proc.setString(1, 100); proc.registerOutParameter(2, Types.VARCHAR); proc.execute(); String testPrint = proc.getString(2);

15、System.out.println( testPrint = + testPrint);catch(SQLException ex2) ex2.printStackTrace();catch(Exception e) e.printStackTrace(); finallytry If (conn != null) conn.close(); If ()catch(Exception e) e.printStackTrace(); 注:这里的proc.getString(2)中的数值2并非任意的,而是和存储过程中的out列对应的,如果out是在第一个位置,那就是proc.getString(

16、1),如果是第三个位置,就是proc.getString(3),当然也可以同时有多个返回值,那就是再多加几个out参数了。3.3 返回游标 1、存储过程为CREATE OR REPLACE PACKAGE TESTPACKAGE ISTYPE Test_CURSOR IS REF CURSOR;procedure TESTC(cur_ref out Test_CURSOR);end TESTPACKAGE;create or replace package body TESTPACKAGE isprocedure TESTC(cur_ref out Test_CURSOR) isbeginOP

17、EN cur_ref FOR SELECT * FROM T_TEST;end TESTC;END TESTPACKAGE;2、JAVA代码Package dusuzhong.Java.Oracle.Test;import java.sql.*;import java.io.OutputStream;import java.io.Writer;import java.sql.PreparedStatement;import java.sql.ResultSet;import oracle.jdbc.driver.*;public class TestProcedureTHREE public

18、TestProcedureTHREE()Public static void main(String args) Connection conn = null; Statement stmt = null; ResultSet rs = null; try conn = new ConnOraDB.getConnection(); CallableStatement proc = null; proc = conn.prepareCall(call testc(?);proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR); proc.execute();rs = (ResultSet)proc.getObject(1); while(rs.next() System.out.println( + rs.getString(1) + +rs.getString(2)+);catch(SQLException ex2) ex2.printStrackTrace(); catch(Exception ex2) ex2.printStrackTrace(); finally try If (conn ! = null) conn.close(); catch()注:在执行前一定要先把oracle的驱动包放到class路径里。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1