当前位置:   article > 正文

Ant内置任务之sql_ant 执行sql语句

ant 执行sql语句

一、概述

        sql是Ant内置任务,用于通过 JDBC 对数据库执行一系列 SQL 语句。可以从src属性指定的文本文件或者sql标签之间读取语句,多个语句可以用分号分隔。语句中的单行可以在行开头使用--、//或REM来进行注释。

二、属性

        driver:jdbc驱动类名。
        url:数据库连接url。
        userid:数据库连接用户名。
        password:数据库连接密码。
        src:包含sql语句的文件。
        encoding:包含sql语句的文件编码,默认为JVM默认编码。
        delimiter:sql语句的分隔符,默认为“;”。
        autocommit:是否自动提交,默认为false。若为true,每个语句执行都会提交,否则所有语句将作为一个事务执行。
        print:是否打印结果集,默认为false。
        showheaders:是否打印结果集的标题,默认为true。
        showtrailers:是否打印受影响的行数,默认为true。
        output:ant1.8起,结果集的输出文件,可以是任何支持output的资源。默认为System.Out。
        append:是否追加现有文件(true)或覆盖文件(false),默认为false。如果output未指定文件系统,则忽略此属性。
        classpath:加载驱动的类路径。
        classpathref:类路径的引用。
        onerror:语句失败时执行的操作,可选值为continue(继续)、stop(停止,但任务不失败)、abort(中止,并且任务失败),默认为abort。
        rdbms:只在关系型数据库中执行任务,默认为no(无限制)。
        version:只在关系型数据库版本匹配时执行任务,默认为no(无限制)。
        caching:任务是否缓存加载器和驱动,默认为true。
        delimitertype:分隔符是否只在一行上被识别,可选值为normal(任意行上)、row(只能在一行上),默认为normal。当设置为row时,只能执行单条sql。
        keepformat:是否保留sql的格式,默认为false。
        escapeprocessing:ant1.6起,java语句对象是否执行转义替换,参考java文档,默认为true。
        expandproperties:ant1.7起,设置为true可在嵌套的sql语句中内联的在任务或嵌套transaction中启用属性扩展,默认为true。
        rawblobs:ant1。7.1起,如果设置为true,则在打印BLOB结果时将写入原始流而不是十六进制编码,默认为false。
        failOnConnectionError:ant1.8起,当设置为false时,如果无法连接到数据库,不会执行任何语句,只打印警告信息,默认为true。
        strictDelimiterMatching:ant1.8起,如果设置为false,分隔符将以不区分大小写的方式搜索,并且前后空格会被忽略,默认为true。
        showWarnings:ant1.8起,如果为true,sql警告将以warn级别记录,即使设置为flase,对于连接的警告也会以verbose级别记录,默认为false。
        treatWarningsAsErrors:ant1.8起,如果为true,sql警告会被视为错误,然后会应用onerror属性选择的逻辑,默认为false。
        csvColumnSeparator:ant1.8起,打印结果时使用的列分隔符,默认为“,”。
        csvQuoteCharacter:ant1.8起,用于引用列值的字符,如果设置包括列分隔符和引号字符本身将被引用字符包含,如果引用字符出现在列值中,引用字符将加倍。BLOB值不能被引用,默认没有引用字符。
        errorproperty:ant1.8起,在出现错误时设置的属性名。
        warningproperty:ant1.8起,在出现警告时设置的属性名。
        rowcountproperty:ant1.8起,设置第一个语句或事务更新返回的行数的属性名。

        支持以下嵌套元素:
        transaction:指定多个同一个连接中执行的不同事务的命令块。支持以下属性:
                src:包含sql语句的文件。还可以通过嵌套任意资源或单个元素资源集合做为嵌套元素来指定包含sql语句的文件。
        任何资源资源集合:可以通过嵌套资源集合元素指定多个源。集合的每个资源都将在自己的事务中运行,ant1.7之前只支持fileset。可以使用sort来对事务进行排序。
        classpath:指定加载jdbc类的类路径。
        connectionProperty:ant1.8起,用于指定连接数据库时需要的额外的jdbc属性。支持以下属性:
                name:属性名。
                value:属性值。

三、简单示例

  1. <project>
  2. <sql driver="com.mysql.jdbc.Driver"
  3. url="jdbc:mysql://192.168.0.112:3306/test"
  4. userid="root"
  5. password="" delimitertype="normal"
  6. ><![CDATA[
  7. create table if not exists user(
  8. id int primary key auto_increment,
  9. name varchar(6),
  10. age int
  11. );
  12. select * from user;
  13. ]]></sql>
  14. </project>



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/539819
推荐阅读
相关标签
  

闽ICP备14008679号