public static void main(String[] args) throws Exception { JdbcDatabaseTester tester = new JdbcDatabaseTester( "com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1/testframework", "root", "root"); QueryDataSet dataSet = new QueryDataSet(tester.getConnection()); // retrieve all rows from specified table dataSet.addTable("EMP"); // retrieve rows that is result of argument query dataSet.addTable("EMP_UNDER_7500", "select * from emp where empno < 7500"); output(dataSet); } protected static void output(IDataSet dataSet) throws DataSetException { for (String name : dataSet.getTableNames()) { ITable table = dataSet.getTable(name); System.out.print("Table name:" + table.getTableMetaData().getTableName()); System.out.println("\tRow count:" + table.getRowCount()); } }
QueryDataSet#addTable()でデータベースにあるレコードをデータセットに追加します。
引数が1つのものは、DBのテーブル名を渡します。そのテーブルのレコードをすべてITableにしてデータセットに追加します。
引数が2つのものは、第1引数は任意の文字列です。それがITableの名前になります。第2引数に実行するSQLを記述します。
このサンプルを実行するとこんな感じです。
Table name:EMP Row count:14 Table name:EMP_UNDER_7500 Row count:2