mybatis万能Map参数

2020-01-03   130 次阅读


假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map!

    //新增用户,map
    int insertUser2(Map<String, Object> Map);

    <insert id="insertUser2" parameterType="map">
        insert into mybatis.user (id,username,password) values (#{userid},#{username},#{password})
    </insert>

    @Test
    public void insertUser2(){
        SqlSession sqlSession = mybatisUtil.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        Map<String, Object> map = new HashMap<>();
        map.put("userid",10);
        map.put("username","三三");
        map.put("password","123");
        mapper.insertUser2(map);
        sqlSession.commit();
        sqlSession.close();
    }

Map传递参数,直接在sql中取出key即可!()【parameterType="map"】

对象传递参数,直接在sql中取对象的属性即可! 【parameterType="object"】

只有一个基本类型参数的情况下,可以直接在sql中取到!【即parameterType="int"无须写】

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

如人饮水、冷暖自知