map的是一个键值对,假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map! 我自己的理解: 使用map 在修改时,可以针对某行数据的一列进行修改,比方说只修改name,而不需要把pwd也进行写出来。 仍然是这三个文件进行操作:
int addUser2(Map<String,Object> map);Mapper.xml <!--对象中的属性,可以直接取出来 传递map的key--> <insert id="addUser" parameterType="map"> insert into mybatis.user (id, pwd) values (#{userid},#{passWord}); </insert> Test @Test public void addUser2(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); Map<String, Object> map = new HashMap<String, Object>(); map.put("userid",5); map.put("passWord","2222333"); mapper.addUser2(map); sqlSession.close(); }.xml
<!--模糊查询--> <select id="getUserLike" resultType="com.peach.pojo.User"> select * from mybatis.user where name like #{value}; </select>Test
//模糊查询 @Test public void getUserLike(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> userList = mapper.getUserLike("%小%"); for (User user : userList) { System.out.println(user); } sqlSession.close(); }