mysql存储过程模糊参数_Mysql 存储过程 实现模糊查询 并在Java中调用

本文介绍了如何在Mysql中创建一个存储过程进行模糊查询订单信息,并展示了在Java业务逻辑中如何使用CallableStatement调用该存储过程。存储过程中,参数通过%符号进行模糊匹配,Java代码中设置参数并执行查询。
摘要由CSDN通过智能技术生成

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

#通过模糊查找订单信息

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();

CallableStatementcs=conn.prepareCall("{callfindOrder(?,?,?,?,?,?,?,?,?)}");

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值