MyBatis动态SQL中Map参数处理

Java 同时被 3 个专栏收录
219 篇文章 1 订阅
100 篇文章 1 订阅
97 篇文章 1 订阅

在MyBatis中,如果我们需要传递两个参数,有一种方式是通过Map作为传入参数,在动态SQL中,我们需要对传入的Map参数中的值进行判断,然后进行动态SQL的条件拼接处理。

假设我们有传入参数map如下:

map.put("name",name);
map.put("level",level);

对应的,我们有配置文件如下,可以看到,在test表达式中,我们不用再通过 #,$ 取值符,直接通过键值就可以取到Map中key所对应的值,如下所示:

<select id="findSomethings"  parameterType="hashmap"   resultType="hashmap">
  select name,age,id from user
  where 1 = 1
  <if test="name != null and name!='' "> and name = #{name}</if>
  <if test="level != null and level!='' "> and level= #{level}</if>
</select>
  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值