FTLDB - a codegen tool powered by FreeMarker
Victor Osolovskiy <[email protected]> Thu, 18 Jun 2015 16:44:36 +0300
| Newsgroups | gmane.comp.web.freemarker.devel |
|---|---|
| Message-ID | <CAH9sf1WmvAmFHePMRwgoaoQjUy3Z=g26yuRSFwxXsdHKHJtj2g@mail.gmail.com> |
Greetings! I write you as a developer (one of two) of an open source tool called FTLDB. It's a tool for code generation in Oracle Database using FreeMarker 2.3.22. The Github page: https://github.com/ftldb/ftldb Our tool allows to: * write, store, execute FTL templates directly in Oracle Database inside stored program units (packages, procedures, etc.) as plain text, just as native code * make SQL queries and PL/SQL calls to a database within FTL templates and work with the result sets as native FTL structures * include/import other templates stored in separate program units referencing to them by standard Oracle names like [schema.]objname[@dblink] * generate multi-statement scripts from FTL that can be easily run in PL/SQL Moreover, it can work not only on server-side in the built-in Oracle JVM, but also on client-side with any database that provides a JDBC-driver. What we've done and how we use FreeMarker: * we use FreeMarker's jar "as is", load it into database (server-side) or store as a local file (client-side) * we've written an extra Java lib - ftldb.jar - that provides APIs for CLI and PL/SQL and adds JDBC functionality to FTL language (connections, queries, calls, cursors, etc.) * we've written several PL/SQL packages and object types that implement internal DB functionality * we've also written a macrolib with some useful FTL functions and macros The tool is widely used for almost 2 years in the company we both work for. A few months ago we published it at GitHub under the Apache License 2.0. We hope that the link to our project will make it more popular among Oracle developers who need a convenient tool for metaprogramming/code generation in PL/SQL. It would be great if you added some info to your website (http://freemarker.org/poweredBy.html). Here's a short description: FTLDB (https://github.com/ftldb/ftldb): FTLDB is a PL/SQL tool for server-side code generation for Oracle Database using FreeMarker. It allows to create, store and execute templates directly in the database as easily as native program units. It enhances FTL with the ability to work with JDBC connections and make SQL queries and program calls to a database. The tool may also work in client-side mode, in which it supports any RDBMS providing a JDBC driver. -- Best regards, Victor. ------------------------------------------------------------------------------