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

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

Introduction

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

Prototype

void commit();

Source Link

Document

Flushes batch statements and commits database connection.

Usage

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

License:Open Source License

@Override
public void save(Resource resource) {
    SqlSession session = sqlSessionFactory.openSession();
    try {//from  w  w w .  j ava  2s  .c  om
        DateTime dateTime = DateTime.now(DateTimeZone.UTC);
        resource.setModifiedDate(dateTime);
        if (resource.getId() == 0) {
            resource.setCreatedDate(dateTime);
            resourceMapper.insert(resource);
        } else {
            resourceMapper.update(resource);
        }
    } finally {
        session.commit();
        session.close();
    }
}

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

License:Open Source License

@Override
public void delete(Resource resource) {
    SqlSession session = sqlSessionFactory.openSession();
    try {/*ww  w.  j a va2  s. co m*/
        resourceMapper.delete(resource.getId());
    } finally {
        session.commit();
        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 w  w w.ja v  a  2 s .c o m
        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.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 {// w  ww  .ja  v a 2 s.  c  om
        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 {// www  .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.gf.components.mybatis.SqlSessionInInvoke.java

License:Apache License

@Override
public void invoke(Action<?, ?> action, FilterChain chain) throws Exception {

    SqlSessionSettings settings = findSettingsInNextObjects();
    SqlSession session = createSession(settings);
    try {//  w  w  w.  j a v  a2  s.  c  om

        Connection connection = session.getConnection();

        addToInvocationContext(session);
        addToInvocationContext(connection);
        chain.doNext();

        session.flushStatements();
        session.commit();

    } catch (Exception e) {
        session.rollback();
        throw e;
    } finally {
        try {
            session.close();
        } catch (Exception ex) {
            log.error("can't close session", ex);
        }
    }

}

From source file:com.github.abel533.test.country.TestCache.java

License:Open Source License

@Test
public void testCache() {
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    try {//from  ww  w . jav a  2  s .  c  o  m
        CachedCountryMapper mapper = sqlSession.getMapper(CachedCountryMapper.class);
        Country country = new Country();
        country.setCountrycode("CN");
        //
        country = mapper.selectOne(country);
        Assert.assertEquals(true, country.getId() == 35);
        Assert.assertEquals("China", country.getCountryname());
        //?close??
        sqlSession.close();

        //======================================================================
        sqlSession = MybatisHelper.getSqlSession();
        mapper = sqlSession.getMapper(CachedCountryMapper.class);
        country = new Country();
        country.setCountrycode("CN");
        //
        country = mapper.selectOne(country);

        Assert.assertEquals(true, country.getId() == 35);
        Assert.assertEquals("China", country.getCountryname());
        //?close??
        sqlSession.close();

        //======================================================================
        sqlSession = MybatisHelper.getSqlSession();
        mapper = sqlSession.getMapper(CachedCountryMapper.class);

        country = new Country();
        country.setCountryname("?");
        country.setId(35);
        //?
        int result = mapper.updateByPrimaryKeySelective(country);
        Assert.assertEquals(1, result);
        sqlSession.commit();
        //?close??
        sqlSession.close();

        //======================================================================
        sqlSession = MybatisHelper.getSqlSession();
        mapper = sqlSession.getMapper(CachedCountryMapper.class);
        country = new Country();
        country.setCountrycode("CN");
        //??
        country = mapper.selectOne(country);

        Assert.assertEquals(true, country.getId() == 35);
        Assert.assertEquals("?", country.getCountryname());

        country = new Country();
        country.setCountryname("China");
        country.setId(35);
        //
        result = mapper.updateByPrimaryKeySelective(country);
        sqlSession.commit();
        Assert.assertEquals(1, result);
    } finally {
        sqlSession.close();
    }
}

From source file:com.glaf.core.db.TableDataManager.java

License:Apache License

public Collection<TableModel> insertAll(String systemName, TableDefinition tableDefinition, String seqNo,
        Collection<TableModel> rows) {
    com.glaf.core.config.Environment.setCurrentSystemName(systemName);
    logger.debug("tableDefinition=" + tableDefinition);
    logger.debug("idColumn=" + tableDefinition.getIdColumn().toString());
    if (tableDefinition.getTableName() != null) {
        tableDefinition.setTableName(tableDefinition.getTableName().toUpperCase());
    }//w  ww  .  j av  a  2  s .  co  m
    Map<String, Object> colMap = new java.util.HashMap<String, Object>();

    Map<String, String> exprMap = new java.util.HashMap<String, String>();
    List<ColumnDefinition> exprColumns = new java.util.ArrayList<ColumnDefinition>();

    ColumnModel idColumn = new ColumnModel();

    ColumnDefinition idCol = tableDefinition.getIdColumn();
    if (idCol != null && idCol.getColumnName() != null) {
        idColumn.setColumnName(idCol.getColumnName());
        idColumn.setJavaType(idCol.getJavaType());
        idColumn.setValueExpression(idCol.getValueExpression());
        exprColumns.add(idCol);
        exprMap.put(idCol.getColumnName().toLowerCase(), idCol.getValueExpression());
    }

    Iterator<ColumnDefinition> iter = tableDefinition.getColumns().iterator();
    while (iter.hasNext()) {
        ColumnDefinition cell = iter.next();
        if (StringUtils.isNotEmpty(cell.getValueExpression())) {
            exprMap.put(cell.getColumnName().toLowerCase(), cell.getValueExpression());
            exprColumns.add(cell);
        }
    }

    logger.debug("expr map:" + exprMap);

    List<TableModel> inertRows = new java.util.ArrayList<TableModel>();

    logger.debug(" rows size = " + rows.size());
    // logger.debug(" key map: " + keyMap);
    Iterator<TableModel> iterator = rows.iterator();
    while (iterator.hasNext()) {
        TableModel tableData = iterator.next();
        ColumnModel myPK = tableData.getIdColumn();
        ColumnModel pkColumn = new ColumnModel();
        pkColumn.setColumnName(idColumn.getColumnName());
        pkColumn.setJavaType(idColumn.getJavaType());

        for (ColumnModel column : tableData.getColumns()) {
            colMap.put(column.getColumnName(), column.getValue());
        }

        for (ColumnDefinition c : exprColumns) {
            ColumnModel x = new ColumnModel();
            x.setColumnName(c.getColumnName());
            x.setJavaType(c.getJavaType());
            x.setValueExpression(c.getValueExpression());
            tableData.addColumn(x);
        }

        for (ColumnModel cell : tableData.getColumns()) {
            String expr = exprMap.get(cell.getColumnName().toLowerCase());
            if (StringUtils.isNotEmpty(expr)) {
                if (ExpressionConstants.NOW_EXPRESSION.equals(expr)
                        || ExpressionConstants.CURRENT_YYYYMMDD_EXPRESSION.equals(expr)) {
                    if (cell.getDateValue() == null) {
                        cell.setDateValue(new Date());
                        cell.setValue(cell.getDateValue());
                    }
                }
                if (ExpressionConstants.ID_EXPRESSION.equals(expr)) {
                    if (cell.getValue() == null) {
                        if (StringUtils.equals(cell.getJavaType(), "Integer")) {
                            cell.setValue(getEntityService().nextId().intValue());
                        } else if (StringUtils.equals(cell.getJavaType(), "Long")) {
                            cell.setValue(getEntityService().nextId());
                        } else {
                            cell.setValue(getEntityService().getNextId());
                        }
                    }
                }
                if (ExpressionConstants.SEQNO_EXPRESSION.equals(expr)) {
                    cell.setValue(seqNo);
                }
                if (ExpressionConstants.UUID_EXPRESSION.equals(expr)) {
                    cell.setValue(UUID32.getUUID());
                }
            }
        }

        if (myPK != null && myPK.getValue() != null) {
            pkColumn.setValue(myPK.getValue());
        } else {
            if (StringUtils.equals(pkColumn.getJavaType(), "Integer")) {
                pkColumn.setValue(getEntityService().nextId().intValue());
                logger.debug("------------int--------------");
            } else if (StringUtils.equals(pkColumn.getJavaType(), "Long")) {
                pkColumn.setValue(getEntityService().nextId());
            } else {
                pkColumn.setValue(getEntityService().getNextId());
            }
        }

        tableData.removeColumn(pkColumn);
        tableData.addColumn(pkColumn);
        tableData.setIdColumn(pkColumn);

        inertRows.add(tableData);
    }

    if (!inertRows.isEmpty()) {
        logger.debug("inert rows size:" + inertRows.size());
        for (TableModel tableData : inertRows) {
            tableData.setTableName(tableDefinition.getTableName());
            logger.debug(tableData.toString());
            SqlSession sqlSession = null;
            Connection conn = null;
            try {
                conn = DBConnectionFactory.getConnection(systemName);
                conn.setAutoCommit(false);
                sqlSession = getSqlSessionFactory().openSession(ExecutorType.BATCH, conn);
                sqlSession.insert("insertTableData", tableData);
                sqlSession.commit();
                conn.commit();
            } catch (Exception ex) {
                JdbcUtils.rollback(conn);
                logger.error(ex);
                ex.printStackTrace();
                throw new RuntimeException(ex);
            } finally {
                JdbcUtils.close(sqlSession);
                JdbcUtils.close(conn);
            }
        }
    }

    return inertRows;
}

From source file:com.glaf.core.db.TableDataManager.java

License:Apache License

public void insertAllTableData(String systemName, List<TableModel> rows) {
    SqlSession sqlSession = null;
    Connection conn = null;//w  ww.j a  va2 s .co m
    try {
        conn = DBConnectionFactory.getConnection(systemName);
        conn.setAutoCommit(false);
        sqlSession = getSqlSessionFactory().openSession(ExecutorType.BATCH, conn);
        for (TableModel model : rows) {
            if (model.getTableName() != null) {
                model.setTableName(model.getTableName().toUpperCase());
            }
            sqlSession.insert("insertTableData", model);
        }
        sqlSession.commit();
        conn.commit();
    } catch (Exception ex) {
        JdbcUtils.rollback(conn);
        logger.error(ex);
        ex.printStackTrace();
        throw new RuntimeException(ex);
    } finally {
        JdbcUtils.close(sqlSession);
        JdbcUtils.close(conn);
    }
}

From source file:com.glaf.core.db.TableDataManager.java

License:Apache License

public void insertTableData(String systemName, List<TableModel> rows) {
    if (rows != null && !rows.isEmpty()) {
        SqlSession sqlSession = null;
        Connection conn = null;// w  w  w  .j  a  va  2s .c o m
        try {
            conn = DBConnectionFactory.getConnection(systemName);
            conn.setAutoCommit(false);
            sqlSession = getSqlSessionFactory().openSession(ExecutorType.BATCH, conn);
            for (TableModel t : rows) {
                if (t.getTableName() != null) {
                    t.setTableName(t.getTableName().toUpperCase());
                }
                sqlSession.insert("insertTableData", t);
            }
            sqlSession.commit();
            conn.commit();
        } catch (Exception ex) {
            JdbcUtils.rollback(conn);
            logger.error(ex);
            ex.printStackTrace();
            throw new RuntimeException(ex);
        } finally {
            JdbcUtils.close(sqlSession);
            JdbcUtils.close(conn);
        }
    }
}