欢笑:数据库 reader,如何处理从 sql 查询返回的 [多行]?

Mirth : database reader, how to deal with [multiple rows] returned from sql query?

我是 Mirth connect 的新手,需要一些帮助

我正在制作如下所示的演示:

来源是数据库Reader 目的地是 文档编写器

SQL select 源中的查询 returns 多行 "and this is what I need" 我正在尝试生成一个 pdf 文档 [the document writer],其中包含所有返回列的值 但实际上,文件中写入的只是最后返回的行

这是我写的HTML模板

<html>
<head></head>

<body>
<div>
${Target_path}\${fileName}
</div>

</body>
</html>

在目标中,我有 Mapping 类型的转换器,它将返回的列的值映射到字符串

SQL 语句 selects 两列来自我的数据库,都是字符串

第一列代表路径,第二列代表文件名 所以我从 sql 语句返回了很多文件名,我需要将它们全部写入此文档

关于如何处理从查询返回的每一行的任何提示?

此致,

我正在使用 JavaScript 来提取我的数据,但您可以预先格式化您的条目并将它们插入到 ArrayList 中。从那里,将列表映射到频道映射变量。

var dbConn;
var result;
var entryList = java.util.ArrayList();

try {
    dbConn = DatabaseConnectionFactory.createDatabaseConnection('DRIVER', 'ADDRESS', 'USERNAME', 'PASSWORD');
    result = dbConn.executeCachedQuery('YOUR QUERY');
    while (result.next()) {
        var entry = result.getString(1) + "//" + result.getString(2);
        list.add(entry);
    }
} finally {
    if (dbConn) {
        dbConn.close();
    }
}

channelMap.put('entryList', entryList);

在您的模板中,您可以在 html 模板中使用 Velocity 来动态创建您的 PDF。

<html>
    <head/>
    <body>
        #foreach ($entry in ${entryList})
        <div>
            $entry
        </div>
        #end
    </body>
</html>