重写mybatis Mapper 中的方法优化数据库查询

针对根据订单号查找订单信息的问题,原始方法会导致效率低下,特别是当订单号相同或需要查找多个订单号时。文章提出了优化方案,通过重写Mapper方法,利用Java List将多个订单号作为参数,使用MyBatis的in操作在数据库中批量查询,一次获取所有订单信息并存储到Map中,提高查询效率。同时强调了Mapper方法中parameterType和resultType的设置细节。

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

写项目的时候碰到一个问题:根据订单号查找订单信息,如何优化查找。

  • 当有商品是同时下单的,那这条记录的订单号一样,那么查找该订单号A会返回多条记录,怎么接收?(用list)

  • 当需要查找的订单号有多个时,一般的方法是用for循环,每次找出一个记录,那就需要n次遍历数据库,效率低!

(改进)

  • 将订单号orderId封装成一个list,重写一个mapper的查找方法,通过 in 在数据库中批量查找,一次性找出所有的订单,存入map。后续要用的话在map中遍历,比在数据库中遍历要快得多。

如:

 <select id="selectByShippingIdList" parameterType="list" resultType=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值