dbunit에서 다음 형식으로 가져올 수있는 데이터베이스 데이터를 쉽게 가져 오거나 내보낼 수 있습니까?dbunit 용 가져 오기/내보내기 xml
<dataset>
<tablea cola="" colb="" />
<tableb colc="" cold="" />
</dataset>
내 단위 테스트를 위해 데이터베이스에서 기존 데이터를 내보내는 방법을 찾고 싶습니다.
dbunit에서 다음 형식으로 가져올 수있는 데이터베이스 데이터를 쉽게 가져 오거나 내보낼 수 있습니까?dbunit 용 가져 오기/내보내기 xml
<dataset>
<tablea cola="" colb="" />
<tableb colc="" cold="" />
</dataset>
내 단위 테스트를 위해 데이터베이스에서 기존 데이터를 내보내는 방법을 찾고 싶습니다.
파랑, 원하는 형식으로 데이터를 내보낼 수 있습니다.
public class DatabaseExportSample {
public static void main(String[] args) throws Exception {
// database connection
Class driverClass = Class.forName("org.hsqldb.jdbcDriver");
Connection jdbcConnection = DriverManager.getConnection(
"jdbc:hsqldb:sample", "sa", "");
IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
// partial database export
QueryDataSet partialDataSet = new QueryDataSet(connection);
partialDataSet.addTable("FOO", "SELECT * FROM TABLE WHERE COL='VALUE'");
partialDataSet.addTable("BAR");
FlatXmlDataSet.write(partialDataSet, new FileOutputStream("partial.xml"));
// full database export
IDataSet fullDataSet = connection.createDataSet();
FlatXmlDataSet.write(fullDataSet, new FileOutputStream("full.xml"));
// dependent tables database export: export table X and all tables that
// have a PK which is a FK on X, in the right order for insertion
String[] depTableNames =
TablesDependencyHelper.getAllDependentTables(connection, "X");
IDataSet depDataSet = connection.createDataSet(depTableNames);
FlatXmlDataSet.write(depDataSet, new FileOutputStream("dependents.xml"));
}
}
내보내기는 이미 답변되었습니다. 대답을 완료하려면 데이터를 데이터베이스에 가져올 수있는 방법입니다. connection
은 IDatabaseConnection
입니다. Mark Robinson의 이전 답변 (내보내기 중)에는 데이터베이스 연결을 만드는 방법에 대한 코드가 들어 있습니다.
FlatXmlDataSet dataSet = new FlatXmlDataSet(new FlatXmlProducer(new InputSource(new FileInputStream("dataset.xml"))));
DatabaseOperation.CLEAN_INSERT.execute(connection, dataSet);
첫 번째 줄은 간단하게 'FlatXmlDataSet dataSet = new FlatXmlDataSet (새 파일 ("dataset.xml"), true); 또는'FlatXmlDataSet dataSet = new FlatXmlDataSetBuilder(). build (새 파일 ("dataset.xml")); –
지금까지 해보신 것은 무엇입니까? dbunit.org에서 문서를 읽었습니까? –
나는 그것을 수동으로하거나 postgresql 클라이언트를 사용한다. 더 좋은 방법이 있는지 궁금합니다. @MarkRobinson – blue123