Package com.ibatis.sqlmap.client

Examples of com.ibatis.sqlmap.client.SqlMapSession


    public DataSource getDataSource() {
        return client.getDataSource();
    }

    public SqlMapSession openSession() {
        SqlMapSession session = client.openSession();
        IbatisUtils.setClientImpl(session, clientImplWrapper);
        return new SqlMapSessionWrapper(client, session);
    }
View Full Code Here


        IbatisUtils.setClientImpl(session, clientImplWrapper);
        return new SqlMapSessionWrapper(client, session);
    }

    public SqlMapSession openSession(Connection conn) {
        SqlMapSession session = client.openSession(conn);
        IbatisUtils.setClientImpl(session, clientImplWrapper);
        return new SqlMapSessionWrapper(client, session);
    }
View Full Code Here

        IbatisUtils.setClientImpl(session, clientImplWrapper);
        return new SqlMapSessionWrapper(client, session);
    }

    public SqlMapSession getSession() {
        SqlMapSession session = client.getSession();
        IbatisUtils.setClientImpl(session, clientImplWrapper);
        return new SqlMapSessionWrapper(client, session);
    }
View Full Code Here

        return resultList;
    }

    protected Object executeWith(Connection connection, SqlMapClientCallback action) {
        SqlMapSession session = getSqlMapClient().openSession();
        try {
            try {
                session.setUserConnection(connection);
            } catch (SQLException e) {
                throw new CannotGetJdbcConnectionException("Could not get JDBC Connection", e);
            }
            try {
                return action.doInSqlMapClient(session);
            } catch (SQLException ex) {
                throw new SQLErrorCodeSQLExceptionTranslator().translate("SqlMapClient operation",
                        null, ex);
            }
        } finally {
            session.close();
        }
    }
View Full Code Here

            return statementName;
        }
    }

    protected Object executeWith(DataSource dataSource, SqlMapClientCallback action) {
        SqlMapSession session = getSqlMapClient().openSession();

        try {
            Connection springCon = null;
            boolean transactionAware = (dataSource instanceof TransactionAwareDataSourceProxy);

            // Obtain JDBC Connection to operate on...
            try {
                springCon = (transactionAware ? dataSource.getConnection() : DataSourceUtils
                        .doGetConnection(dataSource));
                session.setUserConnection(springCon);
            } catch (SQLException ex) {
                throw new CannotGetJdbcConnectionException("Could not get JDBC Connection", ex);
            }

            try {
                return action.doInSqlMapClient(session);
            } catch (SQLException ex) {
                throw new SQLErrorCodeSQLExceptionTranslator().translate("SqlMapClient operation",
                        null, ex);
            } catch (Throwable t) {
                throw new UncategorizedCobarClientException(
                        "unknown excepton when performing data access operation.", t);
            } finally {
                try {
                    if (springCon != null) {
                        if (transactionAware) {
                            springCon.close();
                        } else {
                            DataSourceUtils.doReleaseConnection(springCon, dataSource);
                        }
                    }
                } catch (Throwable ex) {
                    logger.debug("Could not close JDBC Connection", ex);
                }
            }
            // Processing finished - potentially session still to be closed.
        } finally {
            session.close();
        }
    }
View Full Code Here

    // we run against a TransactionAwareDataSourceProxy underneath, but unfortunately
    // we still need it to make iBATIS batch execution work properly: If iBATIS
    // doesn't recognize an existing transaction, it automatically executes the
    // batch for every single statement...

    SqlMapSession session = this.sqlMapClient.openSession();
    if (logger.isDebugEnabled()) {
      logger.debug("Opened SqlMapSession [" + session + "] for iBATIS operation");
    }
    Connection ibatisCon = null;

    try {
      Connection springCon = null;
      DataSource dataSource = getDataSource();
      boolean transactionAware = (dataSource instanceof TransactionAwareDataSourceProxy);

      // Obtain JDBC Connection to operate on...
      try {
        ibatisCon = session.getCurrentConnection();
        if (ibatisCon == null) {
          springCon = (transactionAware ?
              dataSource.getConnection() : DataSourceUtils.doGetConnection(dataSource));
          session.setUserConnection(springCon);
          if (logger.isDebugEnabled()) {
            logger.debug("Obtained JDBC Connection [" + springCon + "] for iBATIS operation");
          }
        }
        else {
          if (logger.isDebugEnabled()) {
            logger.debug("Reusing JDBC Connection [" + ibatisCon + "] for iBATIS operation");
          }
        }
      }
      catch (SQLException ex) {
        throw new CannotGetJdbcConnectionException("Could not get JDBC Connection", ex);
      }

      // Execute given callback...
      try {
        return action.doInSqlMapClient(session);
      }
      catch (SQLException ex) {
        throw getExceptionTranslator().translate("SqlMapClient operation", null, ex);
      }
      finally {
        try {
          if (springCon != null) {
            if (transactionAware) {
              springCon.close();
            }
            else {
              DataSourceUtils.doReleaseConnection(springCon, dataSource);
            }
          }
        }
        catch (Throwable ex) {
          logger.debug("Could not close JDBC Connection", ex);
        }
      }

      // Processing finished - potentially session still to be closed.
    }
    finally {
      // Only close SqlMapSession if we know we've actually opened it
      // at the present level.
      if (ibatisCon == null) {
        session.close();
      }
    }
  }
View Full Code Here

TOP

Related Classes of com.ibatis.sqlmap.client.SqlMapSession

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.