一尘不染

我可以直接在ant中将sql查询的结果保存到属性中吗

sql

我想将sql查询结果保存到ant中的属性中。我知道我可以通过文件来做到这一点。但是我可以通过直接声明属性来将其分配给属性吗?

例如:select count(colname) from tablename

所以我想将计数值分配给一个属性。


阅读 130

收藏
2021-05-16

共1个答案

一尘不染

使用标准ant sql任务无法执行此操作。

使用常规脚本来设置属性,如下所示:

<target name="query">
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>

    <groovy>
    import groovy.sql.Sql

    def sql = Sql.newInstance(properties."db.url", properties."db.user", properties."db.pass", properties."db.driver")
    def row = sql.firstRow("SELECT count(*) from example1")

    properties."row.count" = row[0]
    </groovy>
</target>

<target name="result" depends="query">
    <echo message="Row count: ${row.count}"/>
</target>
2021-05-16