MyBatis中的Map

接口

	int addUserMap(Map<String, Object> map);

Mapper.xml

<!-- 
  
  Map比较灵活 传递的值为Map的key,可以为任何(野路子,不规范,但万能)
  字段过多的话,Map可以只给需要的字段传参,而使用对象传参的话,需要很多的构造器
  <update id="updateUser" parameterType="Map">
  	update mybatis.user set name = #{name} where id = #{id}
  </update>
   -->
  <insert id="addUserMap" parameterType="Map">
  	insert into mybatis.user (id,name,pwd) values (#{userId},#{userName},#{userPassword})
  </insert>

Test

/**
	 * Map的添加操作
	 */
	@Test
	public void addUserMapTest() {
		SqlSession sqlSession = MyBatisUtil.getSqlSession();
				
		try {
			UserMapper userMapper = sqlSession.getMapper(UserMapper.class); 
			
			Map<String,Object> map =  new HashMap<String, Object>();
			map.put("userId", 6);
			map.put("userName","汤姆");
			map.put("userPassword", "15s66s");
			
			
			int num = userMapper.addUserMap(map);
			if(num > 0) {
//				提交事务
				System.out.println(num);//1
				sqlSession.commit();
				sqlSession.close();
			}
		}catch(Throwable e) {
			e.printStackTrace();
		}finally {
			sqlSession.close();
		}	
	}				
	
	
posted @ 2021-02-25 22:33  wangruijie  阅读(197)  评论(0)    收藏  举报