Package org.apache.ibatis.session

Examples of org.apache.ibatis.session.SqlSession


* @version
*/
public class DefaultMyBatisProcessingStrategy implements MyBatisProcessingStrategy {

    public void commit(MyBatisEndpoint endpoint, Exchange exchange, Object data, String consumeStatements) throws Exception {
        SqlSession session = endpoint.getSqlSessionFactory().openSession();

        String[] statements = consumeStatements.split(",");
        try {
            for (String statement : statements) {
                session.update(statement.trim(), data);
            }
        } finally {
            session.commit();
            session.close();
        }
    }
View Full Code Here


            session.close();
        }
    }

    public List<?> poll(MyBatisConsumer consumer, MyBatisEndpoint endpoint) throws Exception {
        SqlSession session = endpoint.getSqlSessionFactory().openSession();
        try {
            return session.selectList(endpoint.getStatement(), null);
        } finally {
            session.close();
        }
    }
View Full Code Here

        }
    }

    private void doSelectOne(Exchange exchange) throws Exception {
        SqlSessionFactory client = endpoint.getSqlSessionFactory();
        SqlSession session = client.openSession();
        try {
            Object result;
            Object in = exchange.getIn().getBody();
            if (in != null) {
                LOG.trace("SelectOne: {} using statement: {}", in, statement);
                result = session.selectOne(statement, in);
            } else {
                LOG.trace("SelectOne using statement: {}", statement);
                result = session.selectOne(statement);
            }

            doProcessResult(exchange, result);
        } finally {
            session.close();
        }
    }
View Full Code Here

        }
    }

    private void doSelectList(Exchange exchange) throws Exception {
        SqlSessionFactory client = endpoint.getSqlSessionFactory();
        SqlSession session = client.openSession();
        try {
            Object result;
            Object in = exchange.getIn().getBody();
            if (in != null) {
                LOG.trace("SelectList: {} using statement: {}", in, statement);
                result = session.selectList(statement, in);
            } else {
                LOG.trace("SelectList using statement: {}", statement);
                result = session.selectList(statement);
            }

            doProcessResult(exchange, result);
        } finally {
            session.close();
        }
    }
View Full Code Here

        }
    }

    private void doInsert(Exchange exchange) throws Exception {
        SqlSessionFactory client = endpoint.getSqlSessionFactory();
        SqlSession session = client.openSession();
        try {
            Object result;
            Object in = exchange.getIn().getBody();
            if (in != null) {
                // lets handle arrays or collections of objects
                Iterator<?> iter = ObjectHelper.createIterator(in);
                while (iter.hasNext()) {
                    Object value = iter.next();
                    LOG.trace("Inserting: {} using statement: {}", value, statement);
                    result = session.insert(statement, value);
                    doProcessResult(exchange, result);
                }
            } else {
                LOG.trace("Inserting using statement: {}", statement);
                result = session.insert(statement);
                doProcessResult(exchange, result);
            }
        } finally {
            try {
                session.commit();
            } finally {
                session.close();               
            }
        }
    }
View Full Code Here

        }
    }

    private void doInsertList(Exchange exchange) throws Exception {
        SqlSessionFactory client = endpoint.getSqlSessionFactory();
        SqlSession session = client.openSession();
        try {
            Object result;
            Object in = exchange.getIn().getBody();
            if (in != null) {
                // just pass in the body as Object and allow MyBatis to iterate using its own foreach statement
                LOG.trace("Inserting: {} using statement: {}", in, statement);
                result = session.insert(statement, in);
                doProcessResult(exchange, result);
            } else {
                LOG.trace("Inserting using statement: {}", statement);
                result = session.insert(statement);
                doProcessResult(exchange, result);
            }
        } finally {
            try {
                session.commit();
            } finally {
                session.close();               
            }
        }
    }
View Full Code Here

        }
    }

    private void doUpdate(Exchange exchange) throws Exception {
        SqlSessionFactory client = endpoint.getSqlSessionFactory();
        SqlSession session = client.openSession();
        try {
            Object result;
            Object in = exchange.getIn().getBody();
            if (in != null) {
                // lets handle arrays or collections of objects
                Iterator<?> iter = ObjectHelper.createIterator(in);
                while (iter.hasNext()) {
                    Object value = iter.next();
                    LOG.trace("Updating: {} using statement: {}", value, statement);
                    result = session.update(statement, value);
                    doProcessResult(exchange, result);
                }
            } else {
                LOG.trace("Updating using statement: {}", statement);
                result = session.update(statement);
                doProcessResult(exchange, result);
            }
        } finally {
            try {
                session.commit();
            } finally {
                session.close();               
            }
        }
    }
View Full Code Here

        }
    }

    private void doDelete(Exchange exchange) throws Exception {
        SqlSessionFactory client = endpoint.getSqlSessionFactory();
        SqlSession session = client.openSession();
        try {
            Object result;
            Object in = exchange.getIn().getBody();
            if (in != null) {
                // lets handle arrays or collections of objects
                Iterator<?> iter = ObjectHelper.createIterator(in);
                while (iter.hasNext()) {
                    Object value = iter.next();
                    LOG.trace("Deleting: {} using statement: {}", value, statement);
                    result = session.delete(statement, value);
                    doProcessResult(exchange, result);
                }
            } else {
                LOG.trace("Deleting using statement: {}", statement);
                result = session.delete(statement);
                doProcessResult(exchange, result);
            }
        } finally {
            try {
                session.commit();
            } finally {
                session.close();               
            }
        }
    }
View Full Code Here

        this.endpoint = endpoint;
        this.statement = endpoint.getStatement();
    }

    public void process(Exchange exchange) throws Exception {
        SqlSession session;

        ExecutorType executorType = endpoint.getExecutorType();
        if (executorType == null) {
            session = endpoint.getSqlSessionFactory().openSession();
        } else {
            session = endpoint.getSqlSessionFactory().openSession(executorType);
        }

        try {
            switch (endpoint.getStatementType()) {
            case SelectOne:
                doSelectOne(exchange, session);
                break;
            case SelectList:
                doSelectList(exchange, session);
                break;
            case Insert:
                doInsert(exchange, session);
                break;
            case InsertList:
                doInsertList(exchange, session);
                break;
            case Update:
                doUpdate(exchange, session);
                break;
            case UpdateList:
                doUpdateList(exchange, session);
                break;
            case Delete:
                doDelete(exchange, session);
                break;
            case DeleteList:
                doDeleteList(exchange, session);
                break;
            default:
                throw new IllegalArgumentException("Unsupported statementType: " + endpoint.getStatementType());
            }
            // flush the batch statements and commit the database connection
            session.commit();
        } catch (Exception e) {
            // discard the pending batch statements and roll the database connection back
            session.rollback();
            throw e;
        } finally {
            // and finally close the session as we're done
            session.close();
        }
    }
View Full Code Here

        this.endpoint = endpoint;
        this.statement = endpoint.getStatement();
    }

    public void process(Exchange exchange) throws Exception {
        SqlSession session;

        ExecutorType executorType = endpoint.getExecutorType();
        if (executorType == null) {
            session = endpoint.getSqlSessionFactory().openSession();
        } else {
            session = endpoint.getSqlSessionFactory().openSession(executorType);
        }

        try {
            switch (endpoint.getStatementType()) {
            case SelectOne:
                doSelectOne(exchange, session);
                break;
            case SelectList:
                doSelectList(exchange, session);
                break;
            case Insert:
                doInsert(exchange, session);
                break;
            case InsertList:
                doInsertList(exchange, session);
                break;
            case Update:
                doUpdate(exchange, session);
                break;
            case UpdateList:
                doUpdateList(exchange, session);
                break;
            case Delete:
                doDelete(exchange, session);
                break;
            case DeleteList:
                doDeleteList(exchange, session);
                break;
            default:
                throw new IllegalArgumentException("Unsupported statementType: " + endpoint.getStatementType());
            }
            // flush the batch statements and commit the database connection
            session.commit();
        } catch (Exception e) {
            // discard the pending batch statements and roll the database connection back
            session.rollback();
            throw e;
        } finally {
            // and finally close the session as we're done
            session.close();
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.ibatis.session.SqlSession

Copyright © 2018 www.massapicom. 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.