MyBatis 使用 Map 传递参数

MyBatis 使用 Map 传递参数

MyBatis 中向 sql 传参时,如果需要多个参数,除了传递对象以使用其属性值,也可以使用 Map 传递多个参数,示例如下:

接口方法:

int addUser2(Map<String,Object> map);

接口方法对应的Mapper:

<insert id="addUser2" parameterType="map">
    insert into user(id, name) values (#{id}, #{name});
</insert>

测试方法:

@Test
public void addUser2() {
    //MybatisUtils中封装了获取SqlSession的方法
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    HashMap<String, Object> map = new HashMap<String, Object>();
    map.put("id",7);
    map.put("name","Henry");
    int res = mapper.addUser2(map);
    if(res == 1) {
        System.out.println("插入成功!");
    }
    sqlSession.commit();
    sqlSession.close();
}

参考资料:

[1] 狂神说Java.Mybatis最新完整教程IDEA版通俗易懂.bilibili,2019-10-02:https://www.bilibili.com/video/BV1NE411Q7Nx?p=5&spm_id_from=pageDriver

posted @ 2021-09-14 23:39  realzhangsan  阅读(2007)  评论(0编辑  收藏  举报