Example usage for org.apache.ibatis.jdbc SQL SQL

List of usage examples for org.apache.ibatis.jdbc SQL SQL

Introduction

In this page you can find the example usage for org.apache.ibatis.jdbc SQL SQL.

Prototype

SQL

Source Link

Usage

From source file:com.baifendian.swordfish.dao.mapper.DataSourceMapperProvider.java

License:Apache License

/**
 * ????/*w  ww . ja v a  2 s  .c  o m*/
 *
 * @param parameter
 * @return
 */
public String getByName(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("r.*, r.owner as owner_id");
            SELECT("u.name as owner, p.name as project_name");

            FROM(TABLE_NAME + " r");

            JOIN("user as u on u.id = r.owner");
            JOIN("project p on r.project_id = p.id");

            WHERE("r.project_id = #{projectId} and r.name = #{name}");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.DataSourceMapperProvider.java

License:Apache License

/**
 * ? projectName  datasource name /*from w  w  w . j a  v a2  s  .  c  o  m*/
 *
 * @param parameter
 * @return
 */
public String getByProjectNameAndName(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("r.*, r.owner as owner_id");
            SELECT("u.name as owner, p.name as project_name");

            FROM(TABLE_NAME + " r");

            JOIN("user as u on u.id = r.owner");
            JOIN("project p on r.project_id = p.id");

            WHERE("p.name = #{projectName} and r.name = #{name}");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.DataSourceMapperProvider.java

License:Apache License

/**
 * ??// w  w w .  j a  va  2s .com
 *
 * @param parameter
 * @return
 */
public String countProjectDatasource(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("count(0)");

            FROM(TABLE_NAME);

            WHERE("project_id = #{projectId}");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter//w  w w  .  j a  v a 2s .co  m
 * @return
 */
public String insert(Map<String, Object> parameter) {
    return new SQL() {
        {
            INSERT_INTO(TABLE_NAME);

            VALUES("flow_id", "#{executionFlow.flowId}");
            VALUES("worker", "#{executionFlow.worker}");
            VALUES("status", EnumFieldUtil.genFieldStr("executionFlow.status", FlowStatus.class));
            VALUES("submit_user", "#{executionFlow.submitUserId}");
            VALUES("submit_time", "#{executionFlow.submitTime}");
            VALUES("proxy_user", "#{executionFlow.proxyUser}");
            VALUES("schedule_time", "#{executionFlow.scheduleTime}");
            VALUES("start_time", "#{executionFlow.startTime}");
            VALUES("end_time", "#{executionFlow.endTime}");
            VALUES("workflow_data", "#{executionFlow.workflowData}");
            VALUES("user_defined_params", "#{executionFlow.userDefinedParams}");
            VALUES("type", EnumFieldUtil.genFieldStr("executionFlow.type", ExecType.class));
            VALUES("failure_policy",
                    EnumFieldUtil.genFieldStr("executionFlow.failurePolicy", FailurePolicyType.class));
            VALUES("max_try_times", "#{executionFlow.maxTryTimes}");
            VALUES("notify_type", EnumFieldUtil.genFieldStr("executionFlow.notifyType", NotifyType.class));
            VALUES("notify_mails", "#{executionFlow.notifyMails}");
            VALUES("timeout", "#{executionFlow.timeout}");
            VALUES("queue", "#{executionFlow.queue}");
            VALUES("extras", "#{executionFlow.extras}");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter//from  w  ww . ja v  a 2 s . c  o m
 * @return
 */
public String update(Map<String, Object> parameter) {
    ExecutionFlow executionFlow = (ExecutionFlow) parameter.get("executionFlow");
    return new SQL() {
        {
            UPDATE(TABLE_NAME);

            if (executionFlow.getStatus() != null) {
                SET("status = " + EnumFieldUtil.genFieldStr("executionFlow.status", FlowStatus.class));
            }

            if (executionFlow.getStartTime() != null) {
                SET("start_time = #{executionFlow.startTime}");
            }

            if (executionFlow.getEndTime() != null) {
                SET("end_time = #{executionFlow.endTime}");
            }

            if (executionFlow.getWorker() != null) {
                SET("worker = #{executionFlow.worker}");
            }

            if (executionFlow.getMaxTryTimes() != null) {
                SET("max_try_times = #{executionFlow.maxTryTimes}");
            }

            if (executionFlow.getTimeout() != null) {
                SET("timeout = #{executionFlow.timeout}");
            }

            WHERE("id = #{executionFlow.id}");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 *  workflow data/*from ww  w. j  av a2 s.c o m*/
 */
public String updateFlowDataSub(Map<String, Object> parameter) {
    return new SQL() {
        {
            UPDATE(TABLE_NAME);

            SET("`workflow_data_sub` = #{executionFlow.workflowDataSub}");

            WHERE("id = #{executionFlow.id}");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * ?/*from w w w  .  j  a  va  2s  .c  om*/
 */
public String selectAllNoFinishFlow() {
    return new SQL() {
        {
            SELECT("id, flow_id, worker, status");

            FROM(TABLE_NAME);

            WHERE("status <=" + FlowStatus.RUNNING.ordinal());
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * ?? executor server ?/*from  w  w  w .  j  a  v a 2 s. c om*/
 */
public String selectNoFinishFlow(Map<String, Object> paramter) {
    return new SQL() {
        {
            SELECT("id, flow_id, worker");

            FROM(TABLE_NAME);

            WHERE("status <=" + FlowStatus.RUNNING.ordinal());
            WHERE("worker = #{worker}");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * ? id ??/*from   www  .  jav a  2 s  . co  m*/
 */
public String selectByExecId(Map<String, Object> parameter) {
    String sql = new SQL() {
        {
            SELECT("b.name as flow_name");
            SELECT("b.project_id as project_id");
            SELECT("b.owner as owner_id");
            SELECT("c.name as project_name");
            SELECT("u.name as submit_user_name");
            SELECT("a.*");

            FROM(TABLE_NAME + " a");

            INNER_JOIN("project_flows b on a.flow_id = b.id");
            INNER_JOIN("project c on b.project_id = c.id");
            INNER_JOIN("user u on a.submit_user = u.id");

            WHERE("a.id = #{execId}");
        }
    }.toString();

    String resultSql = new SQL() {
        {
            SELECT("u.name as owner_name");
            SELECT("t.*");

            FROM("(" + sql + ") t");

            JOIN("user u on t.owner_id = u.id");
        }
    }.toString();

    return resultSql;
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * , ???/*from w  w w. j a  va  2  s.c  om*/
 */
public String selectByFlowIdAndTimesAndStatusLimit(Map<String, Object> parameter) {

    List<FlowStatus> flowStatuses = (List<FlowStatus>) parameter.get("status");

    List<String> workflowList = (List<String>) parameter.get("workflowList");

    List<String> workflowList2 = new ArrayList<>();

    Date startDate = (Date) parameter.get("startDate");
    Date endDate = (Date) parameter.get("endDate");

    if (CollectionUtils.isNotEmpty(workflowList)) {
        for (String workflow : workflowList) {
            workflowList2.add("p_f.name like '" + workflow + "%'");
        }
    }

    List<String> flowStatusStrList = new ArrayList<>();
    if (CollectionUtils.isNotEmpty(flowStatuses)) {
        for (FlowStatus status : flowStatuses) {
            flowStatusStrList.add(String.valueOf(status.ordinal()));
        }
    }

    String where = String.join(",", flowStatusStrList);

    String sql = new SQL() {
        {
            SELECT("p_f.name as flow_name");
            SELECT("p.name as project_name");
            SELECT("u.name as owner");
            SELECT("e_f.*");

            FROM(TABLE_NAME + " e_f");

            JOIN("project_flows p_f on e_f.flow_id = p_f.id");
            JOIN("project p on p_f.project_id = p.id");
            JOIN("user u on p_f.owner = u.id");

            WHERE("p.name = #{projectName}");

            if (CollectionUtils.isNotEmpty(workflowList)) {
                WHERE(" ( " + String.join(" or ", workflowList2) + " ) ");
            }

            if (startDate != null && endDate != null) {
                WHERE("start_time >= #{startDate}");
                WHERE("start_time <= #{endDate}");
            }

            if (CollectionUtils.isNotEmpty(flowStatuses)) {
                WHERE("`status` in (" + where + ") ");
            }
        }
    }.toString();

    String sql2 = new SQL() {
        {
            SELECT("u.name as submit_user_name");
            SELECT("e_f.*");

            FROM("(" + sql + ") e_f");

            JOIN("user u on e_f.submit_user = u.id");
        }
    }.toString() + " order by start_time DESC limit #{start},#{limit}";

    return sql2;
}