Mybatis批量更新和如何获取Map

225 阅读1分钟

不多bb,直接上代码

	这是我的mapper层
/** 
 * 批量更新
 * @param dbtable
 * @param dbColumns
 * @param dbValues
 */
public void updateApiSaveBatch(@Param("dbtable") String dbtable,@Param("dbColumns") 
    List<String> dbColumns,@Param("dbValues") LinkedList<LinkedList<Map<Object,Object>>>  dbValues);
	mybatis操作以及怎么拿取map

先上关键代码

    <foreach collection="detailItem.entrySet()" item="detailItemval" 
	index="detailItemkey">
			 ${detailItemkey}= #{detailItemval},
    </foreach>

完整代码如下

    <!--批量更新-->
    <update id="updateApiSaveBatch">
        <foreach item="item" collection="dbValues" separator=";">
			UPDATE ${dbtable} <set>
            <foreach collection="item" item="detailItem" index="index" separator=";">
                <foreach collection="detailItem.entrySet()" item="detailItemval"  index="detailItemkey">

                        ${detailItemkey}= #{detailItemval},
                </foreach>
            </foreach>
		</set>
		where personid='222'
        </foreach>
    </update>