導航:首頁 > 編程語言 > oraclejava

oraclejava

發布時間:2023-01-29 15:59:27

『壹』 如何在Oracle中使用java方法 詳細

java 存儲過程今後在各大資料庫廠商中越來越流行,功能也越來越強大。這里以 Oracle 為例,介紹一下java 存儲過程的具體用法。 一、如何創建java 存儲過程? 通常有三種方法來創建java 存儲過程。 1. 使用oracle 的sql 語句來創建: e.g. 使用create or replace and compile java source named "" as 後邊跟上java 源程序。要求類的方法必須是public static 的,才能用於存儲過程。 SQL> create or replace and compile java source named "javademo1" 2 as 3 import java.sql.*; 4 public class JavaDemo1 5 { 6 public static void main(String[] args) 7 { 8 System.out.println("hello, java demo1"); 9 } 10 } 11 / Java 已創建。 SQL> show errors java source "javademo1" 沒有錯誤。 SQL> create or replace procere javademo1 2 as 3 language java name 'JavaDemo1.main(java.lang.String[])'; 4 / 過程已創建。 SQL> set serveroutput on size 5000 SQL> call dbms_java.set_output(5000); --java 語言向控制台輸出 SQL> execute javademo1(); --execute 存儲過程名稱 hello, java demo1 調用完成。 2. 使用外部class 文件來裝載創建 Class 文件放置在其他目錄下調用方法 e.g. 這里既然用到了外部文件,必然要將class 文件放到oracle Server 的某一目錄下邊。 public class OracleJavaProc { public static void main(String[] argv) { System.out.println("It's a Java Oracle procere."); } } SQL> grant create any directory to scott; 授權成功。 SQL> conn 已連接。 SQL> create or replace directory test_dir as 'd:/oracle'; 目錄已創建。 using -- 使用 bfile---外部文件 SQL> create or replace java class using bfile(test_dir, 'OracleJavaProc.CLASS') 2 / Java 已創建。 SQL> create or replace procere testjavaproc as language java name 'OracleJavaProc.main(java.lang.String[])'; 2 / 過程已創建。 SQL> call testjavaproc(); 調用完成。 SQL> execute testjavaproc; PL/SQL 過程已成功完成。 SQL> set serveroutput on size 5000 SQL> call dbms_java.set_output(5000); 調用完成。 SQL> execute testjavaproc; It's a Java Oracle procere. 3. 我推薦的一種方法,直接使用loadjava 命令遠程裝載並創建。 先創建一個類, e.g. import java.sql.*; import oracle.jdbc.*; public class OracleJavaProc { //Add a salgrade to the database. public static void addSalGrade(int grade, int losal, int hisal) { System.out.println("Creating new salgrade for EMPLOYEE..."); try { Connection conn = DriverManager.getConnection("jdbc:default:connection:"); String sql = "INSERT INTO salgrade " + "(GRADE,LOSAL,HISAL) " + "VALUES(?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1,grade); pstmt.setInt(2,losal); pstmt.setInt(3,hisal); pstmt.executeUpdate(); pstmt.close(); } catch(SQLException e) { System.err.println("ERROR! Adding Salgrade: " + e.getMessage()); } } } 使用loadjava 命令將其裝載到伺服器端並編譯: D:eclipse3.1workspacedbtest>loadjava -u -v -resolve Or acleJavaProc.java arguments: '-u' '-v' '-resolve' 'OracleJavaProc.java' creating : source OracleJavaProc loading : source OracleJavaProc resolving: source OracleJavaProc 查詢一下狀態: 連接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Proction With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Proction SQL> SELECT object_name, object_type, status FROM user_objects WHERE object_type LIKE 'JAVA%'; OBJECT_NAME -------------------------------------------------------------------------------- OBJECT_TYPE STATUS ------------------------------------ -------------- OracleJavaProc JAVA CLASS VALID OracleJavaProc JAVA SOURCE VALID 測試一下存儲過程: SQL> create or replace procere add_salgrade(id number, losal number, hisal num ber) as language java name 'OracleJavaProc.addSalGrade(int, int, int)'; 2 / 過程已創建。 SQL> set serveroutput on size 2000 SQL> call dbms_java.set_output(2000); 調用完成。 SQL> execute add_salgrade(6, 10000, 15000); Creating new salgrade for EMPLOYEE... PL/SQL 過程已成功完成。 SQL> select * from salgrade where grade=6; GRADE LOSAL HISAL ---------- ---------- ---------- 6 10000 15000 二、如何更新你已經編寫的java 存儲過程? 假如要往類OracleJavaProc 里添加一個存儲過程方法,如何開發? 正確的步驟應該是先dropjava, 改程序,再loadjava。 e.g.修改OracleJavaProc 類內容如下: import java.sql.*; import oracle.jdbc.*; public class OracleJavaProc { // Add a salgrade to the database. public static void addSalGrade(int grade, int losal, int hisal) ...{ System.out.println("Creating new salgrade for EMPLOYEE..."); try ...{ Connection conn = DriverManager.getConnection("jdbc:default:connection:"); String sql = "INSERT INTO salgrade " + "(GRADE,LOSAL,HISAL) " + "VALUES(?,?,?

『貳』 學習資料庫ORACLE和編程語言JAVA有關系嗎

沒關系。資料庫是用來存儲數據用的 。oracle只是比較長用的資料庫之一。還有mysql sqlserver等..Java是編版程語言。是實現把資料庫里的權東西取出來然後展現給人看的。 只是資料庫都提供了介面給各種編程語言調用他的功能。 你只要知道資料庫和編程語言是兩回事。不過你學會了oracle資料庫 你其他的一些資料庫基本就都會了。不過編程語言卻不是 你學會了java不代表你就會c#或者C語言。只是你學會一門編程語言能幫助你更快的學會別的編程語言。 這是我自己思考的,記得踩啦我哈。

『叄』 如何用Java實現連接Oracle

1、工作環境:myeclipse中->新建java_oracle工程->新建包com.zp->新建java_oracle_jdbc.java類
2、需要配置Oracle資料庫驅動
java工程(java_oracle)—>右鍵屬性(Properties)->Java Build Path->Libraries->Add External JARs->添加oracle安裝目錄E:\oracle\proct\10.1.0\Db_1\jdbc\lib下的「classes12.jar」文件;
每次新建一個不同工程都需要配置一次
3、代碼如下:
package com.zp;
import java.sql.*;
public class java_oracle_jdbc {
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
//載入驅動
Class.forName("oracle.jdbc.driver.OracleDriver");
//得到連接
Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:simlink", "scott", "tiger");

Statement sm=ct.createStatement();
ResultSet rs=sm.executeQuery("select * from emp");
while(rs.next())
{
System.out.println("用戶名:"+rs.getString(2));
}
rs.close();
sm.close();
ct.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

『肆』 如何在Oracle中使用Java存儲過程

分享我的代碼給你,這是最基本的版本,還有更好的

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
* Load JDBC Driver
* 最基本的方法通過JDBC連接資料庫
* @author Jacob
*
*/
public class LoadByPrimary {

public static void main(String[] args) throws ClassNotFoundException
{
String driver = "oracle.jdbc.OracleDriver";
Connection cn = null;
/**
* Class.forName手動載入一個類到方法區,Driver類中包含自動注冊驅動的靜態代碼塊
* 會自動在DriverManager中注冊驅動
*/
Class.forName(driver);
String url = "jdbc:oracle:thin:@localhost:1521:ORACLE"; //1521代表埠號,默認的
String user = "用戶名";
String pwd = "密碼";
try
{
/*
* Connection是介面,返回值是一個引用對象,是Oracle驅動提供實現類ojdbc7.jar
* 使用JDBC API介面,實際上是驅動實現類
*/
cn = DriverManager.getConnection(url,user,pwd);
Statement stmt = cn.createStatement();
String sql = "SELECT * FROM stu_emp WHERE deptno =10";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getInt("empno")+" "+
rs.getString("ename")+" "+
rs.getString("job"));
}
rs.close();
stmt.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if(cn!=null)
{
cn.close();
}
}
catch (SQLException e2)
{
e2.printStackTrace();
}
}
}
}
這是通過preparedstatement實現更新數據,這里我把連接資料庫的方法進行了封裝,每次直接調用了。
public static void main(String[] args)
{
PreparedStatementDemo psd = new PreparedStatementDemo();
psd.updateSalary("JACOB",3000);
psd.selectSalary("JACOB");
}

public void updateSalary(String ename,double sal)
{
String sql = "Update stu_emp set sal= ? Where ename = ?";
Connection cn = null;
PreparedStatement ps = null;
try
{
cn = DBPUtil.getConnection();
ps = cn.prepareStatement(sql);
ps.setDouble(1, sal);
ps.setString(2, ename);
int num = ps.executeUpdate();
System.out.println("提示:總共有 "+num+" 條數據已經更新!");
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
DBUtil.stmtClose(ps);
DBUtil.connClose(cn);
}
}

public void selectSalary(String name)
{
String sql = "Select * From stu_emp Where ename = ?";
Connection cn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try
{
cn = DBPUtil.getConnection();
ps = cn.prepareStatement(sql);
ps.setString(1, name);
rs = ps.executeQuery();
while(rs.next())
{
System.out.println(rs.getString("ename")+" 的工資是: "+ rs.getInt("sal"));
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
DBUtil.stmtClose(ps);
DBUtil.rsClose(rs);
DBUtil.connClose(cn);
}
}
}

『伍』 怎麼實現用java訪問oracle資料庫

實現用抄java訪問oracle資料庫:

准備工作:

1.下載驅動,打開瀏覽器,搜索oracle資料庫驅動,進入下載頁面下載即可;

2.將驅動導入到項目中。

用java訪問oracle資料庫代碼實現:



try{
Class.forName("oracle.jdbc.driver.OracleDriver");//載入驅動
//與資料庫建立連接
try{
Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";
Stringuser="scott";//用戶名
Stringpassword="tiger";//密碼
conn=DriverManager.getConnection(url,username,password);
}catch(SQLExceptione){
e.printStackTrace();
}
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
閱讀全文

與oraclejava相關的資料

熱點內容
ps入門必備文件 瀏覽:348
以前的相親網站怎麼沒有了 瀏覽:15
蘋果6耳機聽歌有滋滋聲 瀏覽:768
怎麼徹底刪除linux文件 瀏覽:379
編程中字體的顏色是什麼意思 瀏覽:534
網站關鍵詞多少個字元 瀏覽:917
匯川am系列用什麼編程 瀏覽:41
筆記本win10我的電腦在哪裡打開攝像頭 瀏覽:827
醫院單位基本工資去哪個app查詢 瀏覽:18
css源碼應該用什麼文件 瀏覽:915
編程ts是什麼意思呢 瀏覽:509
c盤cad佔用空間的文件 瀏覽:89
不銹鋼大小頭模具如何編程 瀏覽:972
什麼格式的配置文件比較主流 瀏覽:984
增加目錄word 瀏覽:5
提取不相鄰兩列數據如何做圖表 瀏覽:45
r9s支持的網路制式 瀏覽:633
什麼是提交事務的編程 瀏覽:237
win10打字卡住 瀏覽:774
linux普通用戶關機 瀏覽:114

友情鏈接