Mysql 存储过程 实现模糊查询 并在Java中调用

首先,有一个模糊查询订单信息的存储过程:

#通过模糊查找订单信息
drop procedure if exists findOrder;
delimiter ;;
create procedure findOrder(IN _orderid varchar(10), IN _cid varchar(10), IN _dessertnum varchar(20), 
		IN _count varchar(10), IN _bills varchar(10), IN _createtime varchar(20), IN _destination varchar(50), 
					IN _paymethod varchar(20), IN _deletestate varchar(10))
							begin								
								set _orderid = concat('%', _orderid , '%');	
								set _cid = concat('%', _cid , '%');	
								set _dessertnum = concat('%', _dessertnum , '%');
								set _count = concat('%', _count , '%');	
								set _bills = concat('%', _bills , '%');	
								set _createtime = concat('%', _createtime , '%');	
								set _destination = concat('%', _destination , '%');
								set _paymethod = concat('%', _paymethod , '%');
								set _deletestate = concat('%', _deletestate , '%');	
								select * from order_form where delete_state=1 and (order_id like _orderid or c_id like _cid or dessert_num like _dessertnum
													or count like _count or bills like _bills or create_time like _createtime or destination like _destination
																or pay_method like _paymethod or delete_state like _deletestate);
							end;;
delimiter ;

然后再业务逻辑类中调用该存储过程:

conn= tastetime_utils.getConnection();
CallableStatement	cs=conn.prepareCall("{call	findOrder(?,?,?,?,?,?,?,?,?)}");
			cs.setString(1, aa);
			cs.setString(2, aa);
			cs.setString(3, aa);
			cs.setString(4, aa);
			cs.setString(5, aa);
			cs.setString(6, aa);
			cs.setString(7, aa);
			cs.setString(8, aa);
			cs.setString(9, aa);
			rs=cs.executeQuery();

此处的CallableStatement 类似于 StatStatement

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值