java 数据库多条件查询_sql如何实现多个条件查询自由动态拼接

假如我有5个输入框,代表5个查询条件,怎样才能实现根据用户自由输入一个或多个条件的不同而得到不同的查询结果呢??

public List getCstServiceByPage(int page, int everypage,

CstService ser, String d1, String d2, String status) {

String hql = "select s,c.custName from CstService s,CstCustomer c where s.cstCustomer.custNo=c.custNo and s.svrStatus='"

+ status + "'";

if (ser.getSvrCustName() != null && !ser.getSvrCustName().equals("")) {

hql += " and s.svrCustName like '%" + ser.getSvrCustName() + "%'";

}

if (ser.getSvrTitle() != null && !ser.getSvrTitle().equals("")) {

hql += " and s.svrTitle='" + ser.getSvrTitle() + "'";

}

if (ser.getSvrType() != null && !ser.getSvrType().equals("")) {

if (ser.getSvrType().equals("全部")) {

hql = hql;

} else {

hql += " and s.svrType='" + ser.getSvrType() + "'";

}

}

if (!d1.equals("") && d1 != null && !d2.equals("") && d2 != null) {

hql += " and s.svrCreateDate between to_date('" + d1

+ "','yyyy-mm-dd') and to_date('" + d2 + "','yyyy-mm-dd')";

}

List list = HibernateBaseDao.bypage(hql, page, everypage);

Iterator iter = list.iterator();

List list2 = new ArrayList();

while (iter.hasNext()) {

Object[] obj = (Object[]) iter.next();

CstService service = (CstService) obj[0];

String custName = obj[1].toString();

CstCustomer c = new CstCustomer();

c.setCustName(custName);

service.setCstCustomer(c);

list2.add(service);

}

return list2;

}

穿个对象进去

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值