MyBatis学习笔记-Map
public int updateUserByMap(Map<String,Object> map);
<update id="updateUserByMap" parameterType="map">
update user set name = #{name}, pwd = #{pwd}
<where>
id = #{id}
</where>
</update>
注意:在#{}中的参数名不需要严格对照实体类中的名称,只需要对应定义map时传的键即可
@Test
public void updateUserByMap(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
Map<String,Object> map = new HashMap<String, Object>();
map.put("name","hhhhh");
map.put("pwd","111111");
map.put("id","2");
int res = userDao.updateUserByMap(map);
if (res > 0)
System.out.println("Success");
else
System.out.println("Failed");
sqlSession.commit();
sqlSession.close();
}
- Map传递参数,直接在sql中取出key即可。 [parameterType=“map”]
- 对象传递参数,直接在sql中取对象的属性即可。 [parameterType=“Object(对象)”]
- 只有一个基本类型参数的情况下,可以直接在sql中取到
- 多个参数用Map,或者注解