S++

千线一眼

导航

mybatis-使用Map封装参数

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

根据id修改地址

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

    // 通过id修改地址
    int updateAddressById(Map<String,Object> map);

2. 在userDao.xm中绑定方法

    <update id="updateAddressById" parameterType="map">
        update user
        set address = #{address}
        where id = #{id};
    </update>

3. 编写测试方法

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

测试

posted on 2022-03-09 09:00  S++  阅读(109)  评论(0)    收藏  举报