Database 使用dbunit从ant目标清除数据库中的insert

Database 使用dbunit从ant目标清除数据库中的insert,database,ant,insert,dbunit,Database,Ant,Insert,Dbunit,我使用dbunit在我的webapp中测试db操作。最近,我使用dbunits ant task org.dbunit.ant.DbUnitTask在我的数据库中创建项目的xml表示。我得到了 <?xml version='1.0' encoding='UTF-8'?> <dataset> <table name="AUTHOR"> <column>AUTHOR_ID</column> <column>A

我使用dbunit在我的webapp中测试db操作。最近,我使用dbunits ant task org.dbunit.ant.DbUnitTask在我的数据库中创建项目的xml表示。我得到了

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
  <table name="AUTHOR">
    <column>AUTHOR_ID</column>
    <column>AUTHOR_NAME</column>
    <column>AUTHOR_ADDRESS</column>
    <row>
      <value>0</value>
      <value>j.k.rowling</value>
      <value>london</value>
    </row>
    <row>
      <value>1</value>
      <value><![CDATA[stephen king]]></value>
      <value><![CDATA[castle rock,maine]]></value>
    </row>
  </table>
...
我想用蚂蚁目标做同样的事情,所以我写了

<target name="insertdata" depends="startdb">
        <dbunit driver="${db.driver}"
            url="${db.url}"
            userid="${db.username}"
            password="${db.password}">
            <operation type="CLEAN_INSERT" src="data/dbunit/initialdata.xml"/>
        </dbunit>

    </target>

<taskdef 
    name="dbunit" 
    classname="org.dbunit.ant.DbUnitTask"
    classpathref="clientclasspath"
    />
有人能理解这个错误吗?当传递给方法
DatabaseOperation.CLEAN\u INSERT.execute(connection,DbUnitUtils.createDataSet(“initialdata.xml”))时,是同一个xml文件。

成功地干净地插入数据

欢迎任何帮助

谢谢


标记

我不确定DbUnitUtils.createDataSet()方法的用途,但您可能需要将XML的格式指定为
XML
——即符合。如果未指定格式,Ant任务将采用
flat
格式,并且看起来与示例XML不同

<operation type="CLEAN_INSERT" src="data/dbunit/initialdata.xml" format="xml" />


请参阅。

我不确定DbUnitUtils.createDataSet()方法的用途,但您可能需要将XML的格式指定为
XML
——即符合。如果未指定格式,Ant任务将采用
flat
格式,并且看起来与示例XML不同

<operation type="CLEAN_INSERT" src="data/dbunit/initialdata.xml" format="xml" />

<operation type="CLEAN_INSERT" src="data/dbunit/initialdata.xml" format="xml" />