List of usage examples for org.apache.ibatis.session SqlSession getConnection
Connection getConnection();
From source file:org.sonar.server.db.migrations.DatabaseMigrator.java
License:Open Source License
/** * @return true if the database has been created, false if this database is not supported or if database has already been created */// w ww .ja v a2s.c om @VisibleForTesting boolean createDatabase() { if (DdlUtils.supportsDialect(dbClient.database().getDialect().getId()) && serverUpgradeStatus.isFreshInstall()) { LoggerFactory.getLogger(getClass()).info("Create database"); SqlSession session = dbClient.openSession(false); Connection connection = null; try { connection = session.getConnection(); createSchema(connection, dbClient.database().getDialect().getId()); return true; } finally { session.close(); // The connection is probably already closed by session.close() // but it's not documented in mybatis javadoc. DbUtils.closeQuietly(connection); } } return false; }
From source file:org.sonar.server.db.migrations.DatabaseMigratorTest.java
License:Open Source License
@Test public void should_create_schema_on_h2() throws Exception { Dialect supportedDialect = new H2(); when(database.getDialect()).thenReturn(supportedDialect); Connection connection = mock(Connection.class); SqlSession session = mock(SqlSession.class); when(session.getConnection()).thenReturn(connection); when(mybatis.openSession()).thenReturn(session); DatabaseMigrator databaseMigrator = new DatabaseMigrator(mybatis, database, migrations) { @Override//from w w w. j a v a2 s . c om protected void createSchema(Connection connection, String dialectId) { } }; assertThat(databaseMigrator.createDatabase()).isTrue(); }
From source file:org.sonar.server.measure.MeasureFilterExecutor.java
License:Open Source License
public List<MeasureFilterRow> execute(MeasureFilter filter, MeasureFilterContext context) throws SQLException { if (filter.isEmpty()) { return Collections.emptyList(); }/*from ww w . java 2 s .c o m*/ List<MeasureFilterRow> rows; SqlSession session = null; Connection connection = null; try { session = mybatis.openSession(false); prepareContext(context, filter, session); if (isValid(filter, context)) { MeasureFilterSql sql = new MeasureFilterSql(database, filter, context); context.setSql(sql.sql()); connection = session.getConnection(); rows = sql.execute(connection); } else { rows = Collections.emptyList(); } } finally { MyBatis.closeQuietly(session); // connection is supposed to be closed by the session DbUtils.closeQuietly(connection); } return rows; }
From source file:org.sonar.server.platform.db.migrations.DatabaseMigrator.java
License:Open Source License
/** * @return true if the database has been created, false if this database is not supported or if database has already been created *///from w ww . j a va2 s . co m @VisibleForTesting boolean createDatabase() { if (DdlUtils.supportsDialect(dbClient.getDatabase().getDialect().getId()) && serverUpgradeStatus.isFreshInstall()) { Loggers.get(getClass()).info("Create database"); SqlSession session = dbClient.openSession(false); Connection connection = null; try { connection = session.getConnection(); createSchema(connection, dbClient.getDatabase().getDialect().getId()); return true; } finally { session.close(); // The connection is probably already closed by session.close() // but it's not documented in mybatis javadoc. DbUtils.closeQuietly(connection); } } return false; }