本文已参与「新人创作礼」活动,一起开启掘金创作之路
单个参数
对于单个参数的形式,Mybatis可以接收基本类型,对象类型、集合类型的值,且可以直接使用这个参数而不需要经过任何处理
参数类型为对象类型示例
参数类型为Integer示例
参数类型为String示例
多个参数
对于任意多个参数,都会被Mybatis重新包装成一个Map传入,而Map的key值为param1,param2......,value值就是参数的值
多个参数传递示例
Mybatis在传输多个参数时,会将多个参数封装成Map,默认key为arg0,arg1......value值为参数,同时还会以param1,param2......为key备份到Map中,value值也是为参数,即如下图所示
使用@Param注解命名参数
在传递多个参数时,Mybatis封装Map时默认是以arg0,arg1......作为key值的,如果我们想自己定义key值,则需要使用@Param注解。
当使用了@Param注解后,key值则为我们指定的名称,value值就是具体的参数。
使用@Param注解示例
由于我们使用了@Param注解,封装Map时arg0,arg1.......会被我们指定的名称取代作为key值,value值为参数。同时,Mybatis封装Map时还会以param1,param2......为key备份到Map中,value值也是为参数。此时变化如图
传递POJO类对象参数
传递Map类型参数
在执行sql时,#{cust_id}被5替换,#{cust_name}被赵六替换