1 Map

假设,实体类或数据库中的表,字段或者参数过多,应当考虑使用Map

  1. //万能的Map
  2. int addUser2(Map<String, Object> map);
  1. <!--对象中的属性可以直接取出来
  2. 传递Map的key-->
  3. <insert id="addUser2" parameterType="map">
  4. insert into mybatis.user(id, name, pwd)
  5. values (#{userid}, #{username}, #{password})
  6. </insert>
  1. @Test
  2. public void addUser2() {
  3. SqlSession sqlSession = MybatisUtils.getSqlSession();
  4. UserMapper mapper = sqlSession.getMapper(UserMapper.class);
  5. Map<String, Object> map = new HashMap<String,Object>();
  6. map.put("userid",5);
  7. map.put("username","Hello");
  8. map.put("password",222333);
  9. mapper.addUser2(map);
  10. //提交事务
  11. sqlSession.commit();
  12. //关闭SqlSession
  13. sqlSession.close();
  14. }

Map传递参数,直接在SQL中取出key即可!parameterType="map"
对象传递参数,直接在SQL中取出对象的属性即可!parameterType="Object"
只有 一个基本类型参数的情况,直接在SQL中取到! 省略不写

多个参数用Map!,或注解!