点按钮后台拼sql,去mybatis查数据库

业务是这样,点击预览按钮之后,传入input的值,后台拼接成一个sql,通过mybatis去查询,并将结果返回给前端。

html:

<a class="btn btn-success medium" id="preview" onclick="preview()">预览</a>

js:处理请求 并显示结果

//预览
function preview() {
    var returnTask = editTaskForm.rerunTask.value;
    var exceptTasks = editTaskForm.exceptTasks.value;
    // var exceptTasks = document.getElementsByName("exceptTasks").values();
    $.ajax({
        cache: true,
        type: "POST",
        url: "/base_service/ar_task_manage/preview/ajax",
        data: "returnTask="+returnTask+"&exceptTasks="+exceptTasks,
        success: function (data) {
            if(data == "false") {
                alert("无下游任务");
            }
            else{
                var datas = data.split(';');
                var begin ="";
                var end = "";
                var cnt = 0;
                while(cnt < 20 && cnt < datas.length) {
                    begin = begin + datas[cnt++] + '\n';
                }
                alert(begin);
                if(datas.length >= 20) {
                    while(cnt < datas.length) {
                        end = end + datas[cnt++] + '\n';
                    }
                    alert(end);
                }
                // var dataset = data.replace(/\;/g, '\n');
            }
        }
    });
}

controller:控制整个流程。想法是把sql和结果都封装到对象中,去查。开始都是list的结果,只不过mybatis中应该是一个对象。

    @RequestMapping(value = "/ar_task_manage/preview/ajax", method = RequestMethod.POST)
    public void preview(AutoRunManage obj,HttpServletRequest request, HttpServletResponse response) throws IOException, ClassNotFoundException, SQLException {
        String returnTask = request.getParameter("returnTask");
        String exceptTasks = request.getParameter("exceptTasks");
        String[] tasks = returnTask.split(";");
        String sql_mid = "";
        for(int i = 0; i < tasks.length;i++) {
            String[] task_name = tasks[i].split(":");
            sql_mid = sql_mid +  task_name[0] + ",";
        }
        sql_mid = sql_mid.substring(0,sql_mid.length()-1);
        
        String sql_value = exceptTasks + "'" + except_after + "'"  + sql_mid + "'" ;
        request.getSession().setAttribute("sql_request",sql_value);
        JsonUtil<AutoRunManage> jsonUtil = new JsonUtil<AutoRunManage>();
        obj.setSql_value(sql_value);
        List<AutoRunManage> preview_result = autoRunManageService.preview(obj);
        String result = "";
        if(preview_result.size() == 0) {
            jsonUtil.writeResponse(response, Boolean.FALSE.toString());
            return;
        }
        for(int i = 0; i < preview_result.size(); i++) {
            result = result  + preview_result.get(i).getDownstream_task_name() + ";";
        }
        result.substring(0,result.length() - 1);
        jsonUtil.writeResponse(response, result);
        logger.info(result);
    }

service声明:

    public List<AutoRunManage> preview(AutoRunManage autoRunManage);

serviceImpl:

 @Override
    public List<AutoRunManage> preview(AutoRunManage autoRunManage) {
        return autoRunManageManageDao.preview(autoRunManage);
    }

Dao:

    public List<AutoRunManage> preview(AutoRunManage obj);

DaoImpl:

@Override
    public List<AutoRunManage> preview(AutoRunManage obj) {
        return queryList("com.jd.data.manage.dao.AutoRunManageDao.preview", obj);
    }

Domain:

    private String sql_value;

    private String downstream_task_name;

    private String upstream_task_name;

mybatis:

<select id="preview" parameterType="com.jd.data.manage.domain.AutoRunManage"
            resultType="com.jd.data.manage.domain.AutoRunManage">
        ${sql_value}
</select>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值