package net.ttddyy.dsproxy; import org.hsqldb.jdbc.JDBCDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; /** * @author Tadaya Tsuyukubo */ public class TestUtils { public static DataSource getDataSourceWithData() throws Exception { JDBCDataSource dataSource = new JDBCDataSource(); dataSource.setDatabase("jdbc:hsqldb:mem:aname"); dataSource.setUser("sa"); executeQuery(dataSource, "create table emp ( id integer primary key, name varchar(10) );", "insert into emp ( id, name )values (1, 'foo');", "insert into emp ( id, name )values (2, 'bar');" ); return dataSource; } private static void executeQuery(DataSource dataSource, String... queries) throws Exception { Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement(); for (String query : queries) { stmt.execute(query); } conn.close(); } public static void shutdown(DataSource dataSource) throws Exception { executeQuery(dataSource, "shutdown;"); } public static int countTable(DataSource dataSource, String tableName) throws Exception { Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select count(*) from " + tableName); rs.next(); conn.close(); return rs.getInt(1); } }