2.7、mybatis中使用Map传递参数
-
接口:
int UpdateUserPwd(Map<String,Object> map);
-
Mapper.xml配置:
<!--修改密码--> <update id="UpdateUserPwd" parameterType="map"> update mybatis.user set pwd=#{password} where id=#{id}; </update>
-
测试:
@Test public void UpdateUserPwd(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); HashMap<String, Object> map = new HashMap<String, Object>(); map.put("password","qweasd"); map.put("id",6); int i = mapper.UpdateUserPwd(map); if(i>0){ System.out.println("修改成功"); sqlSession.commit(); } sqlSession.close(); }
**优点:**如果一个表中的字段非常多而需要的字段只有少数时,new一个实体对象显然很麻烦,需要对所有的字段都进行一次赋值。使用map传值可以更方便的实现需要进行的操作。如:修改用户密码时,只需要传入id和密码即可,而无需new一个用户对象。