项目经验:Query in 参数设置setParameterList例子

使用setParameterList处理Query in参数
本文通过实例展示了在项目中如何配置和使用Query in参数,详细解释了setParameterList的方法,帮助读者理解这一常见但重要的数据库操作技巧。


     public List<ZxDDbsszzpjjg> getDbspjjgHistory(EvModel evModel){

           List<ZxDDbsszzpjjg> dbsszzpjjglist = new ArrayList<ZxDDbsszzpjjg>();

           String params[] = evModel.getStcdSeq().split("\\s*[,]\\s*" );// 参数之间可能存在空格

           String  hql=  "  from  ZxDDbsszzpjjg  where to_char(id.pjsj,'yyyy-mm-dd')=to_char(?,'yyyy-mm-dd') and id.pjsd=? and id.jclb=? and id.stcd in (:strs)";

           Session session = template.getSessionFactory().getCurrentSession();

           Query  query  =  session.createQuery(hql);

           query.setTimestamp(0, evModel.getStarttime());

           query.setLong(1, evModel.getPjsd());

           query.setString(2, evModel.getJclb());

           query.setParameterList( "strs", params);

           dbsszzpjjglist = query.list();

           

           List<ZxDXmpjjg> xmpjjglist = new ArrayList<ZxDXmpjjg>();

           String  hql1=  "  from  ZxDXmpjjg  where to_char(id.
String sql = "select id,approverType,calculateLocation,orgCode,factory,approveDepartment,approverName,approverUserNumber,remark,deleteFlag,updateTime " + " from flow_resign_approver where deleteFlag='0' " ; if(StringUtils.isNotBlank(ids)){ sql += " and id in (:ids) "; } if(StringUtils.isNotBlank(approverType)){ sql += " and approverType = :approverType "; } if(StringUtils.isNotBlank(calculateLocation)){ sql += " and calculateLocation = :calculateLocation "; } if(StringUtils.isNotBlank(factory)){ sql += " and factory = :factory "; } if(StringUtils.isNotBlank(orgCode)){ sql += " and orgCode = :orgCode "; } if(StringUtils.isNotBlank(approveDepartment)){ sql += " and approveDepartment = :approveDepartment "; } if(StringUtils.isNotBlank(approverName)){ sql += " and approverName like :approverName "; } if(StringUtils.isNotBlank(approverUserNumber)){ sql += " and approverUserNumber like :approverUserNumber "; } SQLQuery sqlQuery = getSession().createSQLQuery(sql); if(StringUtils.isNotBlank(ids)){ String[] idsArray = ids.replace("[","").replace("]","").split(","); sqlQuery.setParameterList("ids",idsArray ); } if (StringUtils.isNotBlank(approverType)) { sqlQuery.setParameter("approverType", approverType); } if(StringUtils.isNotBlank(calculateLocation)) { sqlQuery.setParameter("calculateLocation", calculateLocation); } if(StringUtils.isNotBlank(factory)) { sqlQuery.setParameter("factory", factory); } if(StringUtils.isNotBlank(orgCode)) { sqlQuery.setParameter("orgCode", orgCode); } if(StringUtils.isNotBlank(approveDepartment)) { sqlQuery.setParameter("approveDepartment", approveDepartment); } if(StringUtils.isNotBlank(approverName)){ sqlQuery.setParameter("approverName", "%" + approverName + "%"); } if(StringUtils.isNotBlank(approverUserNumber)){ sqlQuery.setParameter("approverUserNumber", "%" + approverUserNumber + "%"); }
最新发布
06-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值