Oracle PL / SQL数据访问包代码生成器

时间:2013-01-28 00:07:56

标签: oracle database-design code-generation data-access-layer

很多人的职责是Oracle的PL / SQL开发可能在他们的职业生涯中经历过,因此创建包以便处理特定表上的数据访问层是很常见的。我的意思是,给定一个表'employee'是一个很常见的做法,创建一个包'da_employee'('da'代表'数据访问'),它实现了诸如ins()之类的例程,以便在employee,del中插入一行()用于删除行,upd()用于更新,lock()用于锁定,...,我可以继续......

包的内容可能会根据需求和个人选择而有所不同,但可以说,一旦数据访问包的结构是为表设计的,我计划创建的数百个表在我的架构中可能需要一个基于相同设计的包。

此时我可以说可以使用存储在数据库中的元数据和包本身的模板自动生成这种类型的包。

我想我不是第一个得出这个结论的人,所以我想知道是否有这样的代码生成解决方案,无论是商业还是免费。

2 个答案:

答案 0 :(得分:0)

Toadworld已不再提供CodeGen实用程序。我现在正在研究在PL / SQL Challenge站点(plqlchallenge.com)上为TAPI(以及更普遍的数据访问层)生成提供替代方案。瑞克,我很想和你谈谈你的事情 - 请随时通过steven@stevenfeuerstein.com与我联系。

关于是否使用TAPI的问题:我认为最重要的是首先关注基本原则,然后寻求最佳解决方案。

对我来说,关键原则是避免在我的应用程序中重复SQL语句,从而更容易优化,维护和增强这些语句。因此,数据访问层至关重要。我们中的一些人构建了在各个表上执行DML的应用程序,因此我们发现TAPI很有用。其他人则不喜欢“XAPI”(交易API)。

现在,我编写包含两者的部分的包 - 并尽可能多地生成它。

答案 1 :(得分:0)

你可以尝试

https://code.google.com/p/tapig/

我简要地看了一下..但它有一个问题,因为我的表名有_中的_