编写代码时需注意的小点

  • 参数命名要采用小驼峰命名法:第一个单词以小写字母开始,第二个单词后的首字母大写。
  • xml中书写sql语句时,为保证查找效率,可以将查询条件放在sql语句里
  JOIN G_OG_ORGAN GOO ON GOOE.DPT_ID = GOO.ORGAN_ID
WHERE 1=1
        <if test="searchCicleType != '' and searchCicleType !=null">
            AND srste.CICLE_TYPE = #{searchCicleType}
        </if>
<if test="searchTaskName != '' and searchTaskName != null">  <!--模糊查询-->
            AND srstm.TASK_NAME LIKE '%${search_task_name}%'
        </if>
        <if test="searchOrganId!='' and searchOrganId!=null"> <!--多选遍历-->
            AND GOO.ORGAN_ID in
            <foreach collection="searchOrganId.split(',')" item="item" open="(" close=")" separator="," >
                '${item}'
            </foreach>
        </if>
GROUP BY
        nvl( srstm.PARENT_TASK_ID, srstm.TASK_ID ),
        srstm.TASK_NAME,
  • 前端的查询条件传给后端,在xml的对应sql语句中进行拼接

    前端界面,查询条件

<script type="text/javascript"> 
function getQueryParms(parms){
            var search_task_name=$("input[name*='search_task_name']",$("#mainForm")).val();
            var search_organ_id=$("input[name*='search_organ_id']",$("#mainForm")).val();
            var search_emp_name=$("input[name *='search_emp_name']",$("#mainForm")).val();
            var search_begin=$("input[name *='search_begin_month']",$("#mainForm")).val();
            var search_end=$("input[name *='search_end_month']",$("#mainForm")).val();
            parms.searchTaskName=search_task_name;
            parms.searchOrganId=search_organ_id;
            parms.searchEmpName=search_emp_name;
            parms.searchBegin=search_begin;
            parms.searchEnd=search_end;
            parms.searchCicleType='03';
            return parms;
        }
</script>

后端controller层

 /**
     * 获取列表分页数据
     */
    @RequestMapping("/queryAllPage")
    public void queryAllPage(){
        setSession("scoretasksum_","search");
        QueryPage<Record> page = new QueryPage<>(scoreTaskSumService.paginate(getQueryParms()));
        renderJson(page);
    }

后端service层

 /**
     * 简要说明:分页查询
     * @param
     */
    public Page<Record> paginate(QueryParms qp) {
        StringBuffer qSql=new StringBuffer();
        //把核心sql再包一层
        qSql.append(" FROM ( ") ;
        qSql.append(ToolSqlHelper.getMapperSql(scoreTaskSumMapper,"queryAllPage",qp.getParaMap()));
        qSql.append(" ) A");
        qSql.append(" WHERE 1=1 ");
        //表格搜索框显示时模糊匹配对应的字段
        if(!"".equals(qp.getPara("searchText", ""))){
            qSql.append(qp.genSearchTextSql(ConstantConfig.DB_DATASOURCE_MAIN, "A.TASK_NAME,A.ORGAN_NAME,A.OBJECT_USER,A.EMP_NAME,A.SUM_SCORE,A.AVG_SCORE"));
        }
        if(qp.isSort()){
            qSql.append(" ORDER BY ").append(qp.getSortName()).append(" ").append(qp.getSortOrder());
        }else{ //添加默认排序
            qSql.append(" ORDER BY A.TASK_NAME,A.ORGAN_NAME ASC ");
        }
        return Db.paginate(qp.getPageNumber(), qp.getPageSize(), "SELECT *", qSql.toString());
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值