oracle 调用java

简介: 一:例子1,创建JAVA CLASSa)对于简单的CLASS,我们可以直接在PLSQL里定议,如下create or replace and compile java source named "HelloWorld"aspackage com.
一:例子
1,创建JAVA CLASS
a)对于简单的CLASS,我们可以直接在PLSQL里定议,如下
create or replace and compile java source named "HelloWorld"
as
package com.test;
public class HelloWorld {
public static String sayHello(String name){
 System.out.println("hello::"+ name);
 
 return "hello::"+ name;
}
}


或者


package com.test;
public class HelloWorld {
public static String sayHello(String name){
 System.out.println("hello::"+ name);
 
 return "hello==="+ name;
}
}


注意由于jdk版本不一致而引起的错误:


$ORACLE_HOME/jdk/javac HelloWorld.java


Uncaught exception System error: java/lang/UnsupportedClassVersionError


loadjava -user rudy/jume123456 HelloWorld.class


2)创建对就的SQL FUNCTION如:
create or replace function HelloWorld(p_name in varchar2)
return varchar2
as
language java name 'com.test.HelloWorld.sayHello(java.lang.String) return java.lang.String';


3)通过select HelloWorld('java') from dual;








二:例子


create or replace and compile java source named "javademo1" as
import java.sql.*;
public class JavaDemo1 {
  public static void main(String[] args) {
    System.out.println("hello, javademo1");
  }
}


create or replace procedure javademo1
as
language java name 'JavaDemo1.main(java.lang.String[])';




set serveroutput on size 5000
call dbms_java.set_output(5000);
execute javademo1;






三:例子


public class hello
{
 public static void msg(String name)
 {
  System.out.println("hello,"+name);
 }
};


$ORACLE_HOME/jdk/bin/javac hello.java


create or replace directory CLASS_DIR  as '/u01/app/java/com/test';


create or replace java class using bfile(class_dir,'hello.class');


create or replace procedure prc_hello(p_name VARCHAR2)
as
language java name 'hello.msg(java.lang.String)';




call prc_hello('java');




exec dbms_java.set_output(2000);










四:例子


public class hello
{
 
 public static void main(String[] args)
 {
  System.out.println("Hello");
  hello h = new hello();
  h.insertM(9);
 }
 public static void insertM(int pid)
 {
  System.out.println("This is the method insertM.");
 }
}




loadjava -u rudy/jume123456 -v -resolve hello.java




create procedure prc_hehe as language java name 'hello.main(java.lang.String[])';




call prc_hehe();


set serveroutput on size 2000


exec dbms_java.set_output(2000);
目录
相关文章
|
7月前
|
SQL Oracle 关系型数据库
java往oracle存clob类型的值时,字符长度过长怎么办?
java往oracle存clob类型的值时,字符长度过长怎么办?
468 1
|
7月前
|
Oracle 关系型数据库 Java
java操作多数据源将oracle数据同步达梦数据库
java操作多数据源将oracle数据同步达梦数据库
|
Oracle Java 关系型数据库
JSP struts2工资管理系统myeclipse开发oracle数据库bs框架java编程网结构
JSP 工资管理系统是一套完善的struts2设计系统MVC结构,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Oracle10g,使用java语言开发,系统主要采用B/S模式开发。
83 1
|
Oracle Java 关系型数据库
JSP停车场车位管理系统myeclipse开发oracle数据库BS模式java编程网
JSP 停车场车位管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助servlet+bean+dao (mvc模式开发),系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Oracle 10g,使用java语言开发系统主要采用B/S模式开发。
63 0
|
Oracle 关系型数据库 Java
java处理oracle的Clob字段类型的坑和2种解决办法
java处理oracle的Clob字段类型的坑和2种解决办法
|
SQL Oracle 关系型数据库
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
|
SQL Oracle 关系型数据库
Java swing+MySQL/Oracle 实现的飞机票预定系统订票系统课程设计
Java swing+MySQL/Oracle 实现的飞机票预定系统订票系统课程设计
367 0
java类模拟客户端调用servlet (httpClient)
最近做项目,用到JAVA普通类调用一个servlet应用,所以把部分代码也贴上来了。
148 0
java类模拟客户端调用servlet (httpClient)
java类模拟客户端调用servlet (httpClient)
205 0
|
4天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者

推荐镜像

更多