shionn.blog.db.SqlSession.java Source code

Java tutorial

Introduction

Here is the source code for shionn.blog.db.SqlSession.java

Source

package shionn.blog.db;

import java.sql.Connection;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.cursor.Cursor;
import org.apache.ibatis.executor.BatchResult;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
import org.slf4j.Logger;
import org.springframework.beans.factory.DisposableBean;

/**
 * Code sous licence GPLv3 (http://www.gnu.org/licenses/gpl.html)
 *
 * @author <b>Shionn</b>, shionn@gmail.com <i>http://shionn.org</i><br>
 *         GCS d- s+:+ a+ C++ UL/M P L+ E--- W++ N K- w-- M+ t+ 5 X R+ !tv b+ D+ G- e+++ h+ r- y+
 */
class SqlSession implements org.apache.ibatis.session.SqlSession, DisposableBean {

    private org.apache.ibatis.session.SqlSession session;
    private Logger logger;

    public SqlSession(org.apache.ibatis.session.SqlSession session, Logger logger) {
        this.session = session;
        this.logger = logger;
    }

    @Override
    public void clearCache() {
        session.clearCache();
    }

    @Override
    public void close() {
        session.close();
    }

    @Override
    public void commit() {
        session.commit();
    }

    @Override
    public void commit(boolean force) {
        session.commit(force);
    }

    @Override
    public <T> T selectOne(String statement) {
        return session.selectOne(statement);
    }

    @Override
    public <T> T selectOne(String statement, Object parameter) {
        return session.selectOne(statement, parameter);
    }

    @Override
    public <E> List<E> selectList(String statement) {
        return session.selectList(statement);
    }

    @Override
    public <E> List<E> selectList(String statement, Object parameter) {
        return session.selectList(statement, parameter);
    }

    @Override
    public <E> List<E> selectList(String statement, Object parameter, RowBounds rowBounds) {
        return session.selectList(statement, parameter, rowBounds);
    }

    @Override
    public <K, V> Map<K, V> selectMap(String statement, String mapKey) {
        return session.selectMap(statement, mapKey);
    }

    @Override
    public <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey) {
        return session.selectMap(statement, parameter, mapKey);
    }

    @Override
    public <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey, RowBounds rowBounds) {
        return session.selectMap(statement, parameter, mapKey, rowBounds);
    }

    @Override
    public <T> Cursor<T> selectCursor(String statement) {
        return session.selectCursor(statement);
    }

    @Override
    public <T> Cursor<T> selectCursor(String statement, Object parameter) {
        return session.selectCursor(statement, parameter);
    }

    @Override
    public <T> Cursor<T> selectCursor(String statement, Object parameter, RowBounds rowBounds) {
        return session.selectCursor(statement, parameter, rowBounds);
    }

    @Override
    public void select(String statement, Object parameter, @SuppressWarnings("rawtypes") ResultHandler handler) {
        session.select(statement, parameter, handler);
    }

    @Override
    public void select(String statement, @SuppressWarnings("rawtypes") ResultHandler handler) {
        session.select(statement, handler);
    }

    @Override
    public void select(String statement, Object parameter, RowBounds rowBounds,
            @SuppressWarnings("rawtypes") ResultHandler handler) {
        session.select(statement, parameter, rowBounds, handler);
    }

    @Override
    public int insert(String statement) {
        return session.insert(statement);
    }

    @Override
    public int insert(String statement, Object parameter) {
        return session.insert(statement, parameter);
    }

    @Override
    public int update(String statement) {
        return session.update(statement);
    }

    @Override
    public int update(String statement, Object parameter) {
        return session.update(statement, parameter);
    }

    @Override
    public int delete(String statement) {
        return session.delete(statement);
    }

    @Override
    public int delete(String statement, Object parameter) {
        return session.delete(statement, parameter);
    }

    @Override
    public void rollback() {
        session.rollback();
    }

    @Override
    public void rollback(boolean force) {
        session.rollback(force);
    }

    @Override
    public List<BatchResult> flushStatements() {
        return session.flushStatements();
    }

    @Override
    public Configuration getConfiguration() {
        return session.getConfiguration();
    }

    @Override
    public <T> T getMapper(Class<T> type) {
        return session.getMapper(type);
    }

    @Override
    public Connection getConnection() {
        return session.getConnection();
    }

    @Override
    public void destroy() throws Exception {
        logger.info("Session " + session.hashCode() + " closed");
        try {
            session.rollback();
        } finally {
            session.close();
        }
    }

}