我想将sql查询结果保存到ant中的一个属性中。我知道我可以通过文件来完成。但是,我可以通过直接声明财产来将其分配给财产吗。
例如:select count(colname) from tablename
。
所以我想给一个属性赋值。
不能使用标准的ant sql任务来实现这一点。
使用groovy脚本将属性设置如下:
<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>