五 MyBatis参数传递

五 MyBatis参数传递

本文章为学习过程第五节,全过程查看该专栏

专栏目录

MyBatis提供了ParamNameResolver类来进行参数封装

MyBatis参数封装:

  • 单个参数

    1. POJO类型
    2. Map集合
    3. Collection
    4. List
    5. Array
    6. 其他类型
  • 多个参数

1 多个参数

User select(@Param("username") String username,@Param("password") String password);

封装为map集合

map有键和值

值就是参数的值(String username , String password)

键有两种格式:

map.put(“arg0”,参数值1)

map.put(“param1”,参数值1)

map.put(“arg1”,参数值2)

map.put(“param2”,参数值2)


如果以后不使用@Param注解,可以使用arg0 param1这种参数来获取值

但是不推荐这个方法,因为参数多了之后阅读性很差

可以使用@Param注解,替换Map集合中默认的arg键名

2 单个参数

  1. POJO类型: 直接使用,属性名 和 参数占位符名称 一致

  2. Map集合:直接使用,键名 和 参数占位符名称 一致

  3. Collection:封装为Map集合 可以使用@Param注解,替换Map集合中默认的arg键名

    map.put(“arg0”,collection集合);

    map.put(“collection”,collection集合);

  4. List: 可以使用@Param注解,替换Map集合中默认的arg键名

    map.put(“arg0”,list集合);

    map.put(“collection”,list集合);

    map.put(“list”,list集合);

  5. Array: 可以使用@Param注解,替换Map集合中默认的arg键名

    map.put(“arg0”,数组);

    map.put(“array”,数组);

  6. 其他类型:直接使用。比如int

总结

将来都使用@Param注解来修改Map集合中默认的键名,并使用修改后的名称来获取值,这样的可读性更高

猜你喜欢

转载自blog.csdn.net/qq_45842943/article/details/126356958