谁能解释为什么在 Db 中存储 Java 类的想法?它有什么好处?以及如何使用 Java 类创建存储过程?
此致!
谁能解释为什么在 Db 中存储 Java 类的想法?它有什么好处?以及如何使用 Java 类创建存储过程?
此致!
Oracle 在 8i 版中将存储过程引入其数据库。i代表“ internet”,就像“internet-ready”一样,基本上是一种营销。但是 Java 存储过程允许 Oracle 通过利用大量可用的 Java 库来极大地扩展数据库中可用的功能范围。Oracle 8i 中的许多新数据库功能是 Java 库的 PL/SQL 包装器,特别是 XML 的东西。
值得注意的是,Oracle 在 Oracle 9 中将很多功能重新编写到原生 C 中,因为它的运行速度比封装的 Java 快得多。我知道,喜欢那个。
对我们来说,什么时候使用 Java 存储过程才有意义?基本上,当 Java 中有可用的功能在本机数据库语言中不可用时。例如,我编写了 JSP 来包装 ICE Syslog java 类,因此我的 PL/SQL 日志记录例程可以写入 syslog 文件。这表明 Java 的一个非常常见的用例 - 将我们的数据库应用程序的范围扩展到操作系统。也许 JSP 最常见的用途是编写host
允许 PL/SQL 程序触发外部可执行文件的命令。
我认识一些编写 JSP 的开发人员,因为他们了解 Java 并且不想学习 PL/SQL。这还不够好,原因有两个:
当然,如果您正在开发一个必须针对多个不同数据库产品运行的产品,那么 Java 的跨平台适应性非常有吸引力。当涉及到它们的过程语言(T-SQL 与 PL/SQL 等)时,不同风格的 DBMS 差异最大,因为它与 SQL 不同,没有标准。
如果您想了解如何在 Oracle 中编写 JSP,在线文档是一个不错的起点。如果事实证明您使用的是不同的数据库而不是 Oracle,那么我确信该产品有自己同样出色的手册。
不太确定问题是什么......这个想法只是在Java中进行类似存储过程的操作,而不是更神秘和不熟悉的存储过程脚本语言。以下是它的工作原理:http ://www.oracle.com/technology/tech/java/jsp/index.html
可能是为了这里列出的好处。
您可以在此处找到有关如何创建它们的示例Oracle 和 Java 存储过程。
我认为问题是关于对象关系映射。您可以以声明方式描述如何将 Java 对象映射到关系数据库表的规则。如果你这样做了,你可以节省大量的开发时间来编写 JDBC 代码、跟踪对象更改、实现加载策略等。
Sybase ASE 也能够处理 Java 存储过程,但是 ASE 15、IIRC 中只有 Java 1.2。有关好处 - 请参阅其他答案。
调试器,
正如其他一些海报所问的那样,您的问题非常模糊。
你指的是:
对于第 1 点,一些数据库提供了一个编程钩子,允许您使用 Java 编写存储过程和函数并将它们暴露给 SQL 引擎
对于第 2 点,有对象关系框架将 Java 对象(实例)映射到关系表中以进行读写访问。(示例:参见休眠)
对于第 3 点,您可以假设编写一个 ClassLoader,它将从包含相关类的 BLOB 的数据库记录中加载类。
希望对一些人有所帮助。