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

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

Introduction

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

Prototype

void select(String statement, Object parameter, ResultHandler handler);

Source Link

Document

Retrieve a single row mapped from the statement key and parameter using a ResultHandler .

Usage

From source file:com.skt.adcas.lte.action.CSVDownloadAction.java

public String selectBasicData() {

    this.log.debug("selectBasicData Start");
    SqlSession session = null;
    try {/*from w  w w.  j  av a2s  .co m*/
        parseParam();
        session = SqlSessionManager.getSqlSession().openSession();

        String writeFolderPath = (String) super.properties.get("TEMP_FOLDER_PATH");
        String tempFolder = "/" + UUID.randomUUID().toString();
        String xlsFileName = "/nice.csv";
        String xlsFileFullPath = writeFolderPath + tempFolder + xlsFileName;
        log.debug(xlsFileFullPath);

        if (!(new File(writeFolderPath + tempFolder)).mkdir()) {
            throw new Exception("? ??  .");
        }

        //this.fileOut = new FileOutputStream(xlsFileFullPath);

        FileOutputStream fos = new FileOutputStream(xlsFileFullPath);
        OutputStreamWriter osw = new OutputStreamWriter(fos, "EUC-KR");
        this.fileOut = new BufferedWriter(osw);
        //this.fileOut = new BufferedWriter(new FileWriter(xlsFileFullPath));

        writeHeader();

        log.debug(param);

        session.select("BigDownload.selectBasicData_" + param.get("SEARCHTYPE"), param, this);

        fileOut.close();

        this.msg = "? ? ?";
        this.status = "SUCCESS";
        this.downloadurl = /*"download" + */ tempFolder + xlsFileName;

        session.commit();
        this.msg = "??";
        this.status = "SUCCESS";
    } catch (Exception e) {
        e.printStackTrace();
        this.msg = e.getMessage();
        this.status = "ERROR";
        this.error = true;
        session.rollback();

    } finally {
        session.close();
    }
    return SUCCESS;
}

From source file:org.solmix.datax.mybatis.MybatisDataService.java

License:Open Source License

protected DSResponse executeFetch(DSRequest req, SqlSession session, DataSource dataSource)
        throws DSCallException {
    DSResponse res = new DSResponseImpl(req, Status.STATUS_SUCCESS);
    String mybatisStatement = getMybatisStatement(req);

    Pageable pageable = req.getAttachment(Pageable.class);
    boolean paged = false;
    if (DataTools.isPaged(pageable)) {
        paged = true;//from   w  w w  . j  a v a2s .c om
    }
    Object parameter = null;
    if (paged) {

        // initial SqlDriver for limit & count sql
        if (defaultDialect == null) {
            try {
                defaultDialect = SQLDialectFactory.getInstance().getSQLDialect(dataSource);
            } catch (Exception e) {
                throw new DSCallException("Can't instance SQLDialect for datasource:" + dataSource, e);
            }
        }
        parameter = new PagedParameter(req, res, req.getRawValues(), defaultDialect, session,
                req.getAttachment(Pageable.class));
    } else {
        parameter = req.getRawValues();
    }
    final List<Object> results = new ArrayList<Object>();
    // log start time
    long _$ = System.currentTimeMillis();
    session.select(mybatisStatement, parameter, new ResultHandler() {

        @Override
        public void handleResult(ResultContext context) {
            results.add(context.getResultObject());
        }
    });
    // fire time event.
    if (isEventEnable()) {
        createAndFireTimeMonitorEvent((System.currentTimeMillis() - _$),
                "SQL  query statement [" + mybatisStatement + "],params [" + req.getRawValues()
                        + "] Query total rows: " + results.size());
    }
    res.setRawData(results);
    if (paged) {
        Pageable page = req.getAttachment(Pageable.class);
        int start = page.getStartRow();
        int end = start + results.size();
        page.setEndRow(end);
        res.addAttachment(Pageable.class, page);
    }
    return res;
}

From source file:org.sonar.core.issue.db.IssueDao.java

License:Open Source License

public void selectNonClosedIssuesByModule(int componentId, ResultHandler handler) {
    SqlSession session = mybatis.openSession(false);
    try {/*www  .ja  va2  s . co  m*/
        session.select("org.sonar.core.issue.db.IssueMapper.selectNonClosedIssuesByModule", componentId,
                handler);

    } finally {
        MyBatis.closeQuietly(session);
    }
}

From source file:org.sonar.core.purge.PurgeDao.java

License:Open Source License

private void disableOrphanResources(final ResourceDto project, final SqlSession session,
        final PurgeMapper purgeMapper, final PurgeListener purgeListener) {
    session.select("org.sonar.core.purge.PurgeMapper.selectResourceIdsToDisable", project.getId(),
            new ResultHandler() {
                @Override// ww  w  .j  a  v a 2s . co  m
                public void handleResult(ResultContext resultContext) {
                    IdUuidPair resourceIdUuid = (IdUuidPair) resultContext.getResultObject();
                    if (resourceIdUuid.getId() != null) {
                        disableResource(resourceIdUuid, purgeMapper);
                        purgeListener.onComponentDisabling(resourceIdUuid.getUuid());
                    }
                }
            });
    session.commit();
}

From source file:org.sonar.core.resource.ResourceIndexerDao.java

License:Open Source License

private void doIndexProject(int rootProjectId, SqlSession session, final ResourceIndexerMapper mapper) {
    // non indexed resources
    ResourceIndexerQuery query = ResourceIndexerQuery.create().setNonIndexedOnly(true)
            .setQualifiers(NOT_RENAMABLE_QUALIFIERS).setScopes(NOT_RENAMABLE_SCOPES)
            .setRootProjectId(rootProjectId);

    session.select(SELECT_RESOURCES, query, new ResultHandler() {
        @Override/*  w ww  . j  a va 2 s .  c  o  m*/
        public void handleResult(ResultContext context) {
            ResourceDto resource = (ResourceDto) context.getResultObject();
            doIndex(resource, mapper);
        }
    });

    // some resources can be renamed, so index must be regenerated
    // -> delete existing rows and create them again
    query = ResourceIndexerQuery.create().setNonIndexedOnly(false).setQualifiers(RENAMABLE_QUALIFIERS)
            .setScopes(RENAMABLE_SCOPES).setRootProjectId(rootProjectId);

    session.select(SELECT_RESOURCES, query, new ResultHandler() {
        @Override
        public void handleResult(ResultContext context) {
            ResourceDto resource = (ResourceDto) context.getResultObject();

            mapper.deleteByResourceId(resource.getId());
            doIndex(resource, mapper);
        }
    });
}

From source file:org.sonar.db.component.ResourceIndexDao.java

License:Open Source License

private void doIndexProject(long rootProjectId, SqlSession session, final ResourceIndexMapper mapper) {
    // non indexed resources
    ResourceIndexQuery query = ResourceIndexQuery.create().setNonIndexedOnly(true)
            .setQualifiers(NOT_RENAMABLE_QUALIFIERS).setScopes(NOT_RENAMABLE_SCOPES)
            .setRootProjectId(rootProjectId);

    session.select(SELECT_RESOURCES, query, new ResultHandler() {
        @Override// w  w  w . j  a v  a2  s .  c o m
        public void handleResult(ResultContext context) {
            ResourceDto resource = (ResourceDto) context.getResultObject();
            doIndex(resource, mapper);
        }
    });

    // some resources can be renamed, so index must be regenerated
    // -> delete existing rows and create them again
    query = ResourceIndexQuery.create().setNonIndexedOnly(false).setQualifiers(RENAMABLE_QUALIFIERS)
            .setScopes(RENAMABLE_SCOPES).setRootProjectId(rootProjectId);

    session.select(SELECT_RESOURCES, query, new ResultHandler() {
        @Override
        public void handleResult(ResultContext context) {
            ResourceDto resource = (ResourceDto) context.getResultObject();

            mapper.deleteByResourceId(resource.getId());
            doIndex(resource, mapper);
        }
    });
}

From source file:org.sonar.db.issue.IssueDao.java

License:Open Source License

public void selectNonClosedIssuesByModule(long componentId, ResultHandler handler) {
    SqlSession session = mybatis.openSession(false);
    try {/*from   w w w  . j av  a 2s . c  om*/
        session.select("org.sonar.db.issue.IssueMapper.selectNonClosedIssuesByModule", componentId, handler);

    } finally {
        MyBatis.closeQuietly(session);
    }
}

From source file:org.sonar.db.purge.PurgeDao.java

License:Open Source License

private void disableOrphanResources(final ResourceDto project, final SqlSession session,
        final PurgeMapper purgeMapper, final PurgeListener purgeListener) {
    final List<IdUuidPair> componentIdUuids = new ArrayList<>();
    session.select("org.sonar.db.purge.PurgeMapper.selectComponentIdUuidsToDisable", project.getId(),
            new ResultHandler() {
                @Override/*w  w  w.  j  av a 2 s.  c o  m*/
                public void handleResult(ResultContext resultContext) {
                    IdUuidPair componentIdUuid = (IdUuidPair) resultContext.getResultObject();
                    if (componentIdUuid.getId() != null) {
                        componentIdUuids.add(componentIdUuid);
                    }
                }
            });

    for (IdUuidPair componentIdUuid : componentIdUuids) {
        disableResource(componentIdUuid, purgeMapper);
        purgeListener.onComponentDisabling(componentIdUuid.getUuid());
    }

    session.commit();
}