hql语句中用:号的时候怎么用like进行条件查询

本文介绍了一种基于Java的订单数据查询与展示方法,通过构建动态SQL查询语句并结合参数映射,实现按时间范围及手机号筛选订单记录的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DataGrid dg = new DataGrid();
List<OrderTiming> l = new ArrayList<OrderTiming>();
List<TorderTiming> list = new ArrayList<TorderTiming>();
String hql = "from TorderTiming t where 1=1";
String totalHql = "select count(*) from TorderTiming t where 1=1";
Map<String, Object> params = new HashMap<String, Object>();
if(startdate != null && !startdate.equals("")){
    hql += " and t.orderTime >=:startdate";
    totalHql += " and t.orderTime >=:startdate";
    params.put("startdate", startdate);
}
if(enddate != null && !enddate.equals("")){
    hql += " and t.orderTime <=:enddate";
    totalHql += " and t.orderTime <=:enddate";
    params.put("enddate", enddate);
}

if(importStart != null && !importStart.equals("")){
    hql += " and t.importTime >=:importStart";
    totalHql += " and t.importTime >=:importStart";
    params.put("importStart", importStart);
}
if(importEnds != null && !importEnds.equals("")){
    hql += " and t.importTime <=:importEnds";
    totalHql += " and t.importTime <=:importEnds";
    params.put("importEnds", importEnds);
}
//手机号
if(msisdn != null && !msisdn.equals("")){
    hql += " and t.msisdn like:msisdn";
    totalHql += " and t.msisdn like:msisdn";
    params.put("msisdn", "%"+msisdn+"%");
}
list = orderTimingDao.find(hql, params, orderTiming.getPage(), orderTiming.getRows());
if(list != null && list.size()>0){
    for(TorderTiming t: list){
        OrderTiming orderTime = new OrderTiming();
        orderTime.setOrderId(t.getOrderId());
        orderTime.setProductId(t.getProductId());
        orderTime.setMsisdn(t.getMsisdn());
        orderTime.setOrderStatus(t.getOrderStatus());
        orderTime.setOrderTime(t.getOrderTime());
        orderTime.setUpdateTime(t.getUpdateTime());
        orderTime.setImportTime(t.getImportTime());
        l.add(orderTime);
        i++;
    }
}
}                       
}
dg.setTotal(i);
dg.setRows(l);
return dg;
select generatedAlias0 from OpinionCollection as generatedAlias0 where ( ( generatedAlias0.opinionContent like :param0 ) and ( generatedAlias0.menuId like :param1 ) and ( generatedAlias0.oppionClassification like :param2 ) ) and ( ( generatedAlias0.status<>:param3 ) or ( ( generatedAlias0.status=:param4 ) and ( generatedAlias0.createdBy=:param5 ) ) ) 为什么生成的sql是select opinioncol0_.id as id1_236_, opinioncol0_.created_by as created_2_236_, opinioncol0_.created_time as created_3_236_, opinioncol0_.last_modified_by as last_mod4_236_, opinioncol0_.last_modified_time as last_mod5_236_, opinioncol0_.filter_path as filter_p6_236_, opinioncol0_.created_user_name as created_7_236_, opinioncol0_.created_user_tel_phone as created_8_236_, opinioncol0_.feed_back_submit_date as feed_bac9_236_, opinioncol0_.feed_back_user_id as feed_ba10_236_, opinioncol0_.handling_instructions as handlin11_236_, opinioncol0_.instant_messaging as instant12_236_, opinioncol0_.isc_org_id as isc_org13_236_, opinioncol0_.menu_id as menu_id14_236_, opinioncol0_.menu_name_path as menu_na15_236_, opinioncol0_.opinion_content as opinion16_236_, opinioncol0_.oppion_classification as oppion_17_236_, opinioncol0_.oppion_classification_name as oppion_18_236_, opinioncol0_.org_name as org_nam19_236_, opinioncol0_.status as status20_236_, opinioncol0_.submit_date as submit_21_236_, opinioncol0_.user_account as user_ac22_236_ from opinion_collection opinioncol0_ where ( opinioncol0_.opinion_content like ? ) and ( opinioncol0_.menu_id like ? ) and ( opinioncol0_.oppion_classification like ? ) and ( opinioncol0_.status<>? or opinioncol0_.status=? and opinioncol0_.created_by=? ) limit ?
03-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值