mybatis 插入一条记录 参数为map的写法【用遍历Map的key和value的方式,可以实现只插入有效值】

xml:

   <!-- 新增用户,用遍历Map的key和value的方式,可以实现只插入有效值 -->
        <insert id="insertUser" parameterType="java.util.Map">
            insert into user (
            <foreach collection="columnMap" item="value" index="key" separator=",">
                ${key}
            </foreach>
            )
            values (
            <foreach collection="columnMap" item="value" index="key" separator=",">
                #{value}
            </foreach>
            )
        </insert>

代码:

    public static void main(String[] args) {
        //把要插入的表的有效字段都封装到一个map中
        Map<String, Object> objMap = new HashMap<>();
        objMap.put("name", "xiaoming");
        objMap.put("password", "123");
        
        //一定要再定义一个map用来传递参数
        Map<String, Object> columnMap = new HashMap<>();
        columnMap.put("columnMap", objMap);

     //把后定义的map作为sql的执行参数 userService.insertUser(columnMap); }
原文地址:https://www.cnblogs.com/libin6505/p/10623098.html