Mybatis方法参数问题

Mybatis方法参数问题

按照参数的个数不同,可分为以下两个方面

  • 参数个数为1

  • 参数个数大于1

    以Person类型为例,探究service层向dao传递参数,对应dao层的方法编写。

    Person.class

      public class Person {
          private Integer pid;
          private String pname;
          private String cardid;
      }
    

1.参数个数为1

public interface PersonDao {
    @Delete("delete from person where pid=#{pid}")
    public void delete(int pid);
}

注意:当方法参数为1个时,sql语句中#{}中名字可和参数名不一致。

2.参数个数大于1

当service层向dao层传递的参数大于1时,有以下几个方法。

  • 组装成domain对象

  • 传递map集合

  • 传递多个参数,不进行处理,使用param关键字

  • 配合注解传递

(1)组装成domain对象

public interface PersonDao {
    @Insert("insert into person values(#{pid},#{pname},#{cardid})")
    public void insertOne(Person person);
}

(2)传递map集合

public interface PersonDao {
    @Insert("insert into person values(#{pid},#{pname},#{cardid})")
    public void insert(Map map);
}

(3)使用param关键字

public interface PersonDao {
    @Insert("insert into person values(#{param1},#{param2},#{param3})")
    public void insert(int pid,String pname,String cardid);
}

(4)配合注解传递

public interface PersonDao {
    @Insert("insert into person values(#{pid},#{pname},#{cardid})")
 	public void insert(@Param("pid")int pid,@Param("pname") String pname,@Param("cardid")String cardid);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值