0

是否可以在 scriptella 中使用 sql 请求获取数据并将其访问到 java 代码中?如下所示:

    <connection id="metadata" url="jdbc:postgresql://localhost:5432/testDB" driver="scriptella.driver.postgresql.Driver" user="user" password="password" classpath="postgresql.jar"/>

    <connection id="java" driver="scriptella.driver.janino.Driver"/>

    <query connection-id="metadata">
        SELECT dataid FROM header_table;
        <query connection-id="java">
            System.out.println(?{dataid});
        </query>
    </query>
4

1 回答 1

0

当然,在 Janino 或其他脚本语言(如 JEXL 或 JS)中是可能的。由于 Java 是静态类型的,因此您必须使用 get('name') 方法来访问变量:

<connection id="metadata" url="jdbc:postgresql://localhost:5432/testDB" user="user" password="password" classpath="postgresql.jar"/>

<connection id="java" driver="janino"/>

<query connection-id="metadata">
    SELECT dataid FROM header_table;
    <script connection-id="java">
       Object dataId = get("dataid"); 
       System.out.println(dataId);
    </script>
</query>

Janino 驱动程序 JavaDoc提供了更多详细信息。

于 2013-01-31T08:43:24.593 回答