第一次使用DBunit,记录一下:
使用xml配置表格参数,必需:
标记名称是表格的名字,标记属性是表格的列,标志的值是每个单元格需要的值
贴代码:
Connection connection = getConnection(); //准备connection连接对象 IDatabaseConnection databaseConnection = new DatabaseConnection(connection); //交给DBunit的DatabaseConnection,语义是:数据基本连接。意思:交给DBunit操作我们的connection //getResourceAsStream 获得流,流的内容是配置的xml InputStream resourceAsStream = DBunitTest.class.getClassLoader().getResourceAsStream( ".\\com\\kaige\\daomu\\DBunitTest\\FileListTable"); // 流传入FlatXmlDataSet 估计会解析 返回获得 IDataSet 对象 IDataSet iDataSet = new FlatXmlDataSet(resourceAsStream); // INSERT插入 DatabaseOperation.INSERT.execute(databaseConnection, iDataSet); // 刚插入了数据,测试一下能否查询到刚插入数据 ResultSet resultSet = connection.createStatement().executeQuery("select * from filelist"); if (resultSet.next()) { System.out.println(resultSet.getLong(1)); System.out.println(resultSet.getString(2)); System.out.println(resultSet.getLong(3)); } // DELETE_ALL与TRUNCATE_TABLE删除表格所有的内容 DatabaseOperation.DELETE_ALL.execute(databaseConnection, iDataSet); //DatabaseOperation.TRUNCATE_TABLE.execute(databaseConnection, iDataSet);
在这个过程中,经过我的测试,DBunit确实是将数据插入到库了,不过我们最后又将数据全部清空了。
意思是DBunit保证数据库的干净,不染指库又能操作数据。是入了库再全删。在未删除前这个过程中,这个数据是有效并存在的。这个时候我们就能使用,最后在全删即可
这是我经过测试想到的过程,如果不对请指正