おはよう、挿入されたエントリがデータベースに永久的に残らない
昨日私は初めてMyBatisを使用しました。出発点として、のexampleを使用しました。そして、私はmysql dbを内部hsqldb(v1.8)に置き換えようとしました。私はすべてを変えましたが、挿入ユニットテストが期待どおりに動作することはありませんでした。以下、最初に必要なすべての部分を参照してください。
<insert id="insert" parameterType="Contact">
INSERT INTO CONTACT (CONTACT_EMAIL, CONTACT_NAME, CONTACT_PHONE)
VALUES (#{email}, #{name}, #{phone});
</insert>
public void insert(Contact contact){
SqlSession session = sqlSessionFactory.openSession();
try {
session.insert("Contact.insert", contact);
session.commit();
} finally {
session.close();
}
}
@Test
public void testInsert() {
Contact actual = new Contact();
actual.setName("Adam");
actual.setPhone("+001 811 23456");
actual.setEmail("[email protected]");
contactDAO.insert(actual);
assertEquals(1, contactDAO.selectAll().size());
}
selectメソッドで、私は私の前に挿入された連絡先を取得しますので、このテストは、合格します。しかし、私がhsqldbを開いた場合、連絡先(エントリ)はありません。 私は、このテストは一度だけ通過すると予想していました。私はそれを2回目と呼びますが、複数のエントリーがあるはずです。しかし、これは起こらない。なぜ、連絡先のパーマネントを残していないのですか? (クリーンアップメソッドはありません)
はいこれはデータソースの種類としてUNPOOLEDとの組み合わせでのみ機能します。プールされていると動作しませんでした。ありがとうございました。敬具 –