2021-05-12 日常总结

mybatis传参的四种方式

一、单参数传递

User selectById(String userId);

<select id="selectById" paramType="java.lang.String" resultType="com.entity.User">

  select id,name,age from user where id = #{userId}

</select>

二、多参数传递
 1、传递map

  mybatis底层就是把入参封装成map

User selectUser(Map<String, Object>); 

<select id="selectUser" paramType = "java.util.Map">
    select * from  user where id = #{userId} and age = #{age}
</select>

Map<String, Object> map = new HashMap<>();
map.put("userId", "123");
map.put("age", "18")

  

2、传递POJO

UserInfo selectByEntity(UserEntity user);

<select id="selectByEntity" paramType="com.entity.UserEntity">
    select * from user where id= #{id} and age = #{age}
</select>

@Data
public class UserEntity {
    private String id;
    private int age;
}

 

3、传递List

UserInfo selectByList(List<UserEntity> list);

<select id="selectByList" paramType="com.entity.UserEntity">
    select * from user where id in
    <foreach collection="list" item="item" open="(" close=")" separator=",">
        #{item.id}
    </foreach>
</select>

4、@Param

List<User> selectUser(@Param("id") String id, @Param("age") int age);

<select id="selectUser" resultType="com.entity.User">
    select * from user where id = #{id} and age = #{age}
</select>

总结:一般可以灵活使用以上四种组合,传递参数,事半功倍!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值