Example usage for org.apache.ibatis.session SqlSession close

List of usage examples for org.apache.ibatis.session SqlSession close

Introduction

In this page you can find the example usage for org.apache.ibatis.session SqlSession close.

Prototype

@Override
void close();

Source Link

Document

Closes the session.

Usage

From source file:com.eldar.daos.mybatis.MyBatisResourceDao.java

License:Open Source License

@Override
public void delete(Resource resource) {
    SqlSession session = sqlSessionFactory.openSession();
    try {//from   w w w .j  a v a2 s  .  c om
        resourceMapper.delete(resource.getId());
    } finally {
        session.commit();
        session.close();
    }

}

From source file:com.eldar.daos.mybatis.MyBatisResourceTypeDao.java

License:Open Source License

@Override
public ListPage<ResourceType> list(long start, long size) {
    SqlSession session = sqlSessionFactory.openSession();
    try {/*from   w  w w .  jav  a2s .  c o m*/
        ListPage<ResourceType> page = new ListPage<>(start, size);
        page.setItems(resourceTypeMapper.list(page));
        return page;
    } finally {
        session.close();
    }
}

From source file:com.eldar.daos.mybatis.MyBatisResourceTypeDao.java

License:Open Source License

@Override
public ResourceType getByExtension(String extension) {
    SqlSession session = sqlSessionFactory.openSession();
    try {//from   w w w .j  ava 2  s  .  co m
        return resourceTypeMapper.findByExtension(extension);
    } finally {
        session.close();
    }
}

From source file:com.eldar.daos.mybatis.MyBatisResourceTypeDao.java

License:Open Source License

@Override
public void save(ResourceType resourceType) {
    SqlSession session = sqlSessionFactory.openSession();
    try {/*from   ww w  .ja  v a  2 s  . c  om*/
        DateTime dateTime = DateTime.now(DateTimeZone.UTC);
        resourceType.setModifiedDate(dateTime);
        if (resourceType.getId() == 0) {
            resourceType.setCreatedDate(dateTime);
            resourceTypeMapper.insert(resourceType);
        } else {
            resourceTypeMapper.update(resourceType);
        }
    } finally {
        session.commit();
        session.close();
    }
}

From source file:com.eldar.daos.mybatis.MyBatisResourceTypeDao.java

License:Open Source License

@Override
public ResourceType get(long id) {
    SqlSession session = sqlSessionFactory.openSession();
    try {//w w  w  . j  a v a2  s .c  o m
        return resourceTypeMapper.select(id); //To change body of implemented methods use File | Settings | File Templates.
    } finally {
        session.close();
    }
}

From source file:com.eldar.daos.mybatis.MyBatisResourceTypeDao.java

License:Open Source License

@Override
public void delete(ResourceType resourceType) {
    SqlSession session = sqlSessionFactory.openSession();
    try {//  w ww. ja v  a 2s  .  c o m
        resourceTypeMapper.delete(resourceType.getId());
    } finally {
        session.close();
    }
}

From source file:com.exam.support.mybatis.client.support.execution.DefaultConcurrentRequestProcessor.java

License:Apache License

public List<Object> process(List<ConcurrentRequest> requests) {
    List<Object> resultList = new ArrayList<Object>();

    if (CollectionUtils.isEmpty(requests)) {
        return resultList;
    }/*w w  w.  j  a v a 2  s . co  m*/

    List<RequestDepository> requestsDepo = fetchConnectionsAndDepositForLaterUse(requests);
    final CountDownLatch latch = new CountDownLatch(requestsDepo.size());
    List<Future<Object>> futures = new ArrayList<Future<Object>>();
    Map<Connection, SqlSession> sqlSessionMapper = new HashMap<Connection, SqlSession>();
    try {

        for (RequestDepository rdepo : requestsDepo) {
            final ConcurrentRequest request = rdepo.getOriginalRequest();
            final SqlSessionCallback action = request.getAction();
            final Connection connection = rdepo.getConnectionToUse();
            final SqlSession session = getSqlSessionFactory().openSession(executorType, connection);
            final int dbIndex = request.getDataSourceIndex();
            sqlSessionMapper.put(connection, session);
            futures.add(request.getExecutor().submit(new Callable<Object>() {
                public Object call() throws Exception {
                    try {
                        return executeWith(session, action, dbIndex);
                    } finally {
                        latch.countDown();
                    }
                }
            }));
        }
        try {
            latch.await();
        } catch (InterruptedException e) {
            throw new ConcurrencyFailureException(
                    "interrupted when processing data access request in concurrency", e);
        }

    } finally {
        for (RequestDepository depo : requestsDepo) {
            Connection springCon = depo.getConnectionToUse();
            DataSource dataSource = depo.getOriginalRequest().getDataSource();
            boolean isRealRequireClosedConnection = true;
            try {
                if (springCon != null) {
                    if (depo.isTransactionAware()) {
                        springCon.close();
                    } else {
                        DataSourceUtils.doReleaseConnection(springCon, dataSource);
                    }
                    isRealRequireClosedConnection = springCon.isClosed();
                }
            } catch (Throwable ex) {
                logger.info("Could not close JDBC Connection", ex);
            }
            try {
                if (isRealRequireClosedConnection && springCon != null) {
                    SqlSession session = sqlSessionMapper.get(springCon);
                    if (session != null) {
                        session.close();
                    }
                }
            } catch (Throwable ex) {
                logger.info("Could not close SqlSession", ex);
            }
        }
    }

    fillResultListWithFutureResults(futures, resultList);

    return resultList;
}

From source file:com.firsthuanya.payment.service.PaymentService.java

public void addPayment(Payment payment) throws OpenSessionException {
    if (payment == null)
        throw new IllegalArgumentException("payment is null!");

    SqlSession session = openSession();
    try {/*from w w  w . j  a v  a2s .com*/
        PaymentMapper paymentMapper = session.getMapper(PaymentMapper.class);
        PaymentLicenseMapper paymentLicenseMapper = session.getMapper(PaymentLicenseMapper.class);

        paymentMapper.insert(payment);
        for (License paymentLicense : payment.getLicense())
            paymentLicenseMapper.insert(paymentLicense);

        session.commit();
    } finally {
        session.close();
    }
}

From source file:com.firsthuanya.payment.service.PaymentService.java

public void removePayment(String id) throws OpenSessionException {
    if (id == null || id.trim().equals(""))
        throw new IllegalArgumentException("payment id is null");

    SqlSession session = openSession();
    try {//from  w w w .  ja va 2  s . c  o  m
        PaymentMapper paymentMapper = session.getMapper(PaymentMapper.class);
        PaymentLicenseMapper paymentLicenseMapper = session.getMapper(PaymentLicenseMapper.class);

        paymentMapper.delete(id);
        paymentLicenseMapper.delete(id);
        session.commit();
    } finally {
        session.close();
    }
}

From source file:com.firsthuanya.payment.service.PaymentService.java

public Payment getPayment(String id) throws OpenSessionException {
    if (id == null || id.trim().equals(""))
        throw new IllegalArgumentException("payment id is null");

    SqlSession session = openSession();
    try {/*from w w  w .j  a  v a 2 s  . c o  m*/
        PaymentMapper paymentMapper = session.getMapper(PaymentMapper.class);

        return paymentMapper.find(id);
    } finally {
        session.close();
    }
}