两种方式:${} 和 #{}
${} 的本质是字符串拼接
#{} 的本质是占位符填充
${} 使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号
但
#{} 会自动加
1.单个字面量类型的参数
若mapper接口中的方法参数为单个字面量时:两种都行,注意${} 要手动加单引号
2.多个字面量类型的参数
若mapper接口中的方法参数为多个字面量时:此时mybatis会自动将这些参数放在一个map集合中,以arg0,arg1为键,以参数为值;以param1,param2为键,以参数为值。因此两种方式就可通过访问map集合的键就可以获取对应的值,注意${}要手动加单引号
3.map集合类型的参数
若mapper接口中的方法需要的参数为多个时,此时可以手动创建map集合,将这些数据放在
map中
只需要通过KaTeX parse error: Expected 'EOF', got '#' at position 4: {}和#̲{}访问map集合的键就可以获…{}需要手动加单引号
4.实体类类型的参数
若mapper接口中的方法参数为实体类对象时
此时可以使用KaTeX parse error: Expected 'EOF', got '#' at position 4: {}和#̲{},通过访问实体类对象中的属…{}需要手动加单引号
5.使用@Param标识参数
可以通过@Param注解标识mapper接口中的方法参数
此时,会将这些参数放在map集合中,以@Param注解的value属性值为键,以参数为值;以
param1,param2…为键,以参数为值;只需要通过KaTeX parse error: Expected 'EOF', got '#' at position 4: {}和#̲{}访问map集合的键就可以获…{}需要手动加单引号。