如果有一个TYPE:
CREATE OR REPLACE type EMP_TYPE AS object
(
id NUMBER ,
name VARCHAR2 ,
birthday DATE ,
sex CHAR (1)
);
有一个Pacakge:
CREATE OR REPLACE PACKAGE EMP_UTIL IS
FUNCTION get_emp_by_id (p_id NUMBER) RETURN EMP_TYPE;
PROCEDURE create_emp (p_emp EMP_TYPE);
END EMP_UTIL;
现在如果需要用JDBC调用这个Package的这两个功能。
1. 下载JPublisher。
2. 设置CLASSPATH。
set CLASSPATH=%CLASSPATH%;%JPUB_HOME%\sqlj\lib\translator.jar
set CLASSPATH=%CLASSPATH%;%JPUB_HOME%\sqlj\lib\runtime12.jar
set CLASSPATH=%CLASSPATH%;%JPUB_HOME%\sqlj\lib\jpub.jar
set CLASSPATH=%CLASSPATH%;%ORACLE_HOME%\jdbc\lib\classes12.jar
3. 执行命令: jpub -user=user/pwd@SID -s EMP_UTIL
4. 会生成两个个类:EmpType, EmpTypeRef, 将这两个类拷贝到工作目录下。
5. 新建一个java类来调用这两个功能,代码如下:
public class Sample
{
Map getTypeMap()
{
Map map = new HashMap();
map.put("EMP_TYPE", EmpType.class);
return map;
}
public EmpType getEmpById(long id)
{
Connection conn = null;
CallableStatement cstmt = null;
try
{
conn = getConnection();
conn.setTypeMap(getTypeMap());
cstmt = conn.prepareCall("{? = call emp_util.get_emp_by_id(?)}");
cstmt.registerOutParameter(1, Types.STRUCT, "EMP_TYPE");
cstmt.setLong(2, id);
cstmt.execute();
return (EmpType) cstmt.getObject(1);
}
catch (Exception e)
{
return null;
}
finally
{
cstmt.close();
conn.close();
}
}
public void createEmp(EmpType emp)
{
Connection conn = null;
CallableStatement cstmt = null;
try
{
conn = getConnection();
conn.setTypeMap(getTypeMap());
cstmt = conn.prepareCall("{call emp_util.create_emp(?)}");
cstmt.setObject(1, emp, Types.STRUCT);
cstmt.execute();
}
catch (Exception e)
{
}
finally
{
}
}
}
分享到:
相关推荐
oracle plsql 代码入门到精通实例演示讲解,plsql编程入门教程
oracle plsql 通过utl_http调用 webservice,包括webservice服务端的源码,以及pro的客户端代码。已测试通过。
ORACLE PLSQL实例精解(第4版) 中文版
Oracle PLSQL 从入门到精通 自己制作的pdf版本,大家免费下载。若文件里面的地址失效,请用新地址http://dt1.8tupian.com/12777a10b99.pg1
PLSql 很好的一个控制数据库工具(ORACLE)
这个oracle的客户端PLSQL
Oracle plsql从入门到精通的源代码。
Oracle PLSQL编程,第4版Oracle PLSQL编程,第4版
Oracle PLSQL语言初级教程
《Oracle plsql简明教程》pdf版 《Oracle plsql简明教程》pdf版
oracle PLSQL结构控制语句 带示例跟练习
学习ORACLE PLSQL开发的可以下载来学习下,都是常用方法,挺好的,适合基础不是很好的开发者。
Oracle PLSQL Developer 8.0.3.1510 Oracle PLSQL Developer 8.0.3.1510
在不安装oracle客户端的前提下,是用plsql,实现方法。
Oracle PLSQL编程最佳实践中文版
Oracle PLSQL攻略随书源码
Oracle PLSQL 实例精解(第4版)完整版 有详细的目录 及说明
Oracle PLSQL 编程手册(SQL大全)
本书帮助你充分掌握PLSQL的特性。 用非标准的方式介绍PLSQL中特定的功能。取得预期的效果 教你如果使用PLSQL解决所遇到的问题 教你如何编写高效。易于维护的代码
Oracle PLSQL最佳实践 第二版