1

javax.sql.DataSourceをコンストラクタ引数として取り、いくつかの基本的な CRUD 操作を行うリポジトリ クラスを作成しました。私は今、そのためのjunitテストを書きたいと思っています。これらのテスト用の DB として HSQL を使用したいのですが、DB を希望どおりにセットアップする方法がわかりません。Spring アプリでは、テスト用にアプリ コンテキストに次のようなものを配置しました。

<jdbc:embedded-database id="dataSource">
    <jdbc:script location="classpath:mySQLForDB.sql"/>
</jdbc:embedded-database>

ただし、テストしたいのは Spring アプリではありません。データソースをセットアップし、SQL ファイルから DB をセットアップするコードはありますか? <jdbc:embedded-database>基本的に、Spring がタグで行っていることと機能的に同等のものです。

4

1 に答える 1

1

h2を試してみませんか?

public static void main(String[] args) throws ClassNotFoundException,
        SQLException {
    Class.forName("org.h2.Driver");
    Connection conn = DriverManager.getConnection("jdbc:h2:mem:mytestdb",
            "sa", "");
    Statement st = conn.createStatement();
    st.execute("create table foo (id integer)");
    st.execute("insert into foo (id) values (1)");
    ResultSet rs = st.executeQuery("select * from foo");
    while (rs.next()) {
        int result = rs.getInt("id");
        System.out.println(result);
    }
    conn.close();
}

HSQL にも同じ方法がありますが、まだ試していません。このリンクを見てください

これが役立つことを願っています。

于 2012-09-03T15:44:31.880 に答える