Package jodd.db

Source Code of jodd.db.DbHsqldbTestCase

// Copyright (c) 2003-2014, Jodd Team (jodd.org). All Rights Reserved.

package jodd.db;

import jodd.db.jtx.DbJtxTransactionManager;
import jodd.db.pool.CoreConnectionPool;
import jodd.db.querymap.DbPropsQueryMap;
import jodd.log.LoggerFactory;
import org.junit.After;
import org.junit.Before;

public abstract class DbHsqldbTestCase {

  protected DbJtxTransactionManager dbtxm;
  protected CoreConnectionPool cp;

  @Before
  public void setUp() throws Exception {
    DbManager.getInstance().setQueryMap(new DbPropsQueryMap());

    LoggerFactory.setLoggerFactory(new TestLoggerFactory());

    cp = new CoreConnectionPool();
    cp.setDriver("org.hsqldb.jdbcDriver");
    cp.setUrl("jdbc:hsqldb:mem:test");

    cp.setUser("sa");
    cp.setPassword("");
    cp.init();
    dbtxm = new DbJtxTransactionManager(cp);

    // initial data
    DbSession session = new DbSession(cp);

    executeUpdate(session, "drop table BOY if exists");
    executeUpdate(session, "drop table GIRL if exists");

    String sql = "create table GIRL (" +
        "ID      integer    not null," +
        "NAME    varchar(20)  not null," +
        "SPECIALITY  varchar(20)  null," +
        "primary key (ID)" +
        ')';

    executeUpdate(session, sql);

    sql = "create table BOY (" +
        "ID      integer  not null," +
        "GIRL_ID    integer  null," +
        "NAME  varchar(20)  null," +
        "primary key (ID)," +
        "FOREIGN KEY (GIRL_ID) REFERENCES GIRL (ID)" +
        ')';

    executeUpdate(session, sql);
    session.closeSession();
  }

  @After
  public void tearDown() throws Exception {
    dbtxm.close();
//    cp.close();
    dbtxm = null;
  }

  // ---------------------------------------------------------------- helpers

  protected int executeUpdate(DbSession session, String s) {
    return new DbQuery(session, s).autoClose().executeUpdate();
  }

  protected void executeUpdate(String sql) {
    new DbQuery(sql).autoClose().executeUpdate();
  }

  protected long executeCount(DbSession session, String s) {
    return new DbQuery(session, s).autoClose().executeCount();
  }

}
TOP

Related Classes of jodd.db.DbHsqldbTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.