@AfterEach @Override protected void tearDown() throws Exception { DbSession session = new DbSession(cp); executeUpdate(session, "drop table GIRL if exists"); executeUpdate(session, "drop table BOY if exists"); executeUpdate(session, "drop table ROOM if exists"); session.closeSession(); super.tearDown(); }
/** * {@inheritDoc} */ public DbSession beginTransaction(final JtxTransactionMode jtxMode, final boolean active) { DbSession session = new DbSession(connectionProvider); if (active) { log.debug("begin jtx"); session.beginTransaction(JtxDbUtil.convertToDbMode(jtxMode)); } return session; }
/** * {@inheritDoc} */ public void rollbackTransaction(final DbSession resource) { try { if (resource.isTransactionActive()) { log.debug("rollback tx"); resource.rollbackTransaction(); } } catch (Exception ex) { throw new JtxException(ex); } finally { resource.closeSession(); } }
/** * {@inheritDoc} */ public void commitTransaction(final DbSession resource) { if (resource.isTransactionActive()) { log.debug("commit jtx"); resource.commitTransaction(); } resource.closeSession(); }
@Test void testBig() throws Exception { DbSession session = new DbSession(cp); session.closeSession(); assertTrue(query.isClosed()); assertEquals(0, query.getOpenResultSetCount()); DbQuery q = DbQuery.query("select count(*) from GIRL"); assertEquals(3, q.executeCount()); dbts.closeSession(); DbSession session1 = new DbSession(cp); DbSession session2 = new DbSession(cp); session1.beginTransaction(DbTransactionMode.READ_WRITE_TX); query = DbQuery.query(session1, "insert into GIRL values(4, 'Jeniffer', 'fighting')"); assertEquals(1, query.executeUpdate()); session1.rollbackTransaction(); session2.closeSession(); assertEquals(0, query2.getOpenResultSetCount()); session1.closeSession();
@Override public void close() { closeSession(); }
/** * Commit the current transaction, writing any unflushed changes to the database. * Transaction mode is closed. */ public void commitTransaction() { log.debug("Committing transaction"); assertTxIsActive(); try { connection.commit(); } catch (SQLException sex) { throw new DbSqlException("Commit TX failed", sex); } finally { closeTx(); } }
@Test void testSetMap() throws SQLException { DbSession session = new DbSession(cp); DbQuery dbQuery = DbQuery.query(session, "select * from GIRL where ID = :id"); Map<String, Object> map = new HashMap<String, Object>(); map.put("id", Integer.valueOf(1)); dbQuery.setMap(map); ResultSet rs = dbQuery.execute(); if (rs.next()) { assertEquals(1, rs.getInt(1)); } }
assertEquals(0, session.getTotalQueries()); assertEquals(0, session.getTotalQueries()); assertEquals(1, session.getTotalQueries()); assertEquals(0, dq.autoClose().executeCount()); assertEquals(0, session.getTotalQueries()); q.close(); session.closeSession();
executeUpdate(session, "insert into GIRL(NAME) values('Monica')"); session.closeSession(); assertTrue(session.isSessionClosed()); session.closeSession(); assertEquals(0, q.getOpenResultSetCount()); session.closeSession(); assertEquals(7, g2.id.intValue()); session.closeSession(); q.close(); session.closeSession();
assertTrue(dbQuery.getSession().isSessionOpen()); assertTrue(dbQuery.getSession().isSessionOpen()); dbSession.closeSession();
/** * Roll back the current transaction. Transaction mode is closed. */ public void rollbackTransaction() { if (log.isDebugEnabled()) { log.debug("Rolling-back transaction"); } checkActiveTx(); try { connection.rollback(); } catch (SQLException sex) { throw new DbSqlException("Unable to rollback transaction.", sex); } finally { closeTx(); } }
/** * Creates a new query from {@link DbSession}. */ public DbQuery(final DbOom dbOom, final DbSession session, final String sqlString) { super(dbOom); initSession(session); this.session.attachQuery(this); this.sqlString = sqlString; }
/** * Closes the query and all created results sets and detaches itself from the session. */ @Override @SuppressWarnings({"ClassReferencesSubclass"}) public void close() { final SQLException sqlException = closeQuery(); connection = null; if (this.session != null) { this.session.detachQuery(this); } if (sqlException != null) { throw new DbSqlException("Close query error", sqlException); } }
initSession(session); connection = session.getConnection();
/** * Starts transaction with default transaction mode. */ public void beginTransaction() { beginTransaction(dbManager.transactionMode); }
/** * Closes current session and remove the association from current thread. * @see jodd.db.DbSession#closeSession() */ @Override public void closeSession() { ThreadDbSessionHolder.remove(); super.closeSession(); }
/** * {@inheritDoc} */ public void commitTransaction(final DbSession resource) { if (resource.isTransactionActive()) { log.debug("commit jtx"); resource.commitTransaction(); } resource.closeSession(); }
/** * Roll back the current transaction. Transaction mode is closed. */ public void rollbackTransaction() { log.debug("Rolling-back transaction"); assertTxIsActive(); try { connection.rollback(); } catch (SQLException sex) { throw new DbSqlException("Rollback TX failed", sex); } finally { closeTx(); } }
@Test void testSetObjects() throws SQLException { DbSession session = new DbSession(cp); DbQuery dbQuery = DbQuery.query(session, "select * from GIRL where ID = ?"); Object[] o = {Integer.valueOf(1)}; dbQuery.setObjects(o); ResultSet rs = dbQuery.execute(); if (rs.next()) { assertEquals(1, rs.getInt(1)); } }