mybatis使用Map封装参数


上一篇中我们在查询、插入、更新等操作中直接传入了一个User类的参数。
但是并不是User中所有的属性都是必要的,我们可以通过Map封装需要的属性,然后使用Map就能完成相关的操作。
举个例子

根据id修改地址

1. 在Dao类中编写方法
需要注意的是参数是一个Map

    // 通过id修改地址
    int updateAddressById(Map map);

2. 在userDao.xm中绑定方法

    
        update user
        set address = #{address}
        where id = #{id};
    

3. 编写测试方法

    @Test
    public void testUpdateAddressById(){
        SqlSession session = MybatisUtils.getSqlSession();
        UserDao userdao = session.getMapper(UserDao.class);
        Map map = new HashMap();
        map.put("id",99);
        map.put("address","古埃及");
        userdao.updateAddressById(map);
        session.commit();
        session.close();
    }