Mybatis模糊查询

万能的map

如果属性过多,可以使用map传递参数。
接口映射的方法不能重名(既不能重载)。

map虽然方便,但是不是正规的,慎用。

int addUser2(Map<String ,Object> map);
<insert id="addUser2" parameterType="map">
        insert into mybatis.user(id,name,pwd) values (#{userid},#{userName},#{password});
    </insert>

参数传入的类型:

  • Map传递参数,直接在sql取出key对应的value即可(#{key}的形式)
  • 对象传递参数,直接取对象的属性即可(此时通过new一个对象传参)
  • 只有一个基本类型参数的情况下,可以直接在sql中取到。(传入一个普通的数据即可)

这三种方式对应在不同情况下的处理方式。

其中第三种方式最简便,但情况最少。

第二种方式,是需要用户自己new一个新的对象,然后为该对象赋值,再进行传递。要么是通过参数齐全的构造函数,要么是new一个空参,用户自己添加属性。这就带来一个问题,new对象的方式是很吃资源的,尤其是频繁的增删改查时,不停的new对象必然会造成运行时间上的浪费,尤其是当对象的属性值有很多时,自己又只用到其中的很少一些属性,此时再去new一个对象就得不偿失了。

所以此时采取第三种方式,只传递需要的参数。

当然,如果有大量属性需要被用到,此时添加new一个对象。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值