Spring Jdbc使用like模糊查询

    public List<WfConfigMVO> queryList(WfConfigMVO wfConfig) throws SysException {
        StringBuffer sql = new StringBuffer();
        sql.append("select WF_CONFIG_ID,WF_TEMPL_KEY,TIME_LIMIT,WF_NAME ");
        sql.append("from wf_config ");
        sql.append("where 1=1");

        List<WfConfigMVO> resultList = null;
        List<Object> params = new ArrayList<Object>();
        try {
            if (wfConfig != null) {
                if (isNotBlank(wfConfig.getWfConfigId())) {
                    sql.append(" and WF_CONFIG_ID=?");
                    params.add(wfConfig.getWfConfigId());
                }
                if (isNotBlank(wfConfig.getWfTemplKey())) {
                    sql.append(" and WF_TEMPL_KEY=?");
                    params.add(wfConfig.getWfTemplKey());
                }
                if (isNotBlank(wfConfig.getTimeLimit())) {
                    sql.append(" and TIME_LIMIT=?");
                    params.add(wfConfig.getTimeLimit());
                }
                if (isNotBlank(wfConfig.getWfName())) {
                    //开始我使用了下面的这种方法
                   // sql.append(" and WF_NAME like '%?%'");
                   // params.add(wfConfig.getWfName());  这样做就会报SqlException
                   //sql.append(" and WF_NAME like %?%");这里不要单引号也是会报异常的
                    //正确的方法如下
                    sql.append(" and WF_NAME=?");
                    params.add("%"+wfConfig.getWfName()+"%");//把‘%’放进参数中传递进去OK
                }
            }
            resultList = jdbcTemplate.query(sql.toString(),
                    params.toArray(),
                    new BeanPropertyRowMapper<WfConfigMVO>(WfConfigMVO.class));
        } catch (DataAccessException e) {
            e.printStackTrace();
            logger.error("查询WfConfig错误:{}", e.getMessage());
            throw new SysException("10000", "查询WfConfig错误", e);
        }
        return resultList;
    }    

  

转载于:https://www.cnblogs.com/simeone/p/4186894.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值