在oracle中编译java源文件,生成function。开发中要求要在过程中产生密码,但是生成密码的工具包已经用java写好了,用plsql去重新写一个是不可能的。所以公司技术部给出了在oracle中调用java的方法。
这样可以解决问题,但会导致维护难度。除非这个java工具类永远不修改。
万一哪天修改过了,导致两边的逻辑不一致,代码就有问题了。
create or replace and compile java source NAMED PasswordUtil AS
---java源文件
CREATE OR REPLACE PACKAGE test.pkg_util_test IS
FUNCTION sp_security_encrypt(password varchar2)return varchar2;
FUNCTION sp_security_decrypt(password varchar2) return varchar2;
END pkg_util_test;
/
CREATE OR REPLACE PACKAGE BODY test.pkg_util_test IS
FUNCTION sp_security_encrypt(password varchar2)return varchar2
as
language java name 'PasswordUtil.encrypt (java.lang.String) return java.lang.String';
FUNCTION sp_security_decrypt(password varchar2) return varchar2
as
language java name 'PasswordUtil.decrypt(java.lang.String) return java.lang.String ';
END pkg_util_test;
/
这样可以解决问题,但会导致维护难度。除非这个java工具类永远不修改。
万一哪天修改过了,导致两边的逻辑不一致,代码就有问题了。