mybatis 使用记录

1、动态导入数据,即表和属性是不固定的

/**
 * 批量新增数据
 *
 * @param tableName  表名
 * @param columnList 表列
 * @param dataList   表数据
 * @return 结果
*/
int batchInsertData(@Param("tableName") String tableName, @Param("columnList") List<String> columnList, @Param("dataList") List<Map<String, Object>> dataList);

xml

<insert id="batchInsertData">
		insert into ${tableName}
		<trim prefix="(" suffix=")" suffixOverrides=",">
			<foreach collection="columnList" item="item" separator=",">
				`${item}`
			</foreach>
		</trim>
		<trim prefix="values " suffixOverrides=",">
			<foreach collection="dataList" item="data" separator=",">
				<foreach collection="columnList" item="col" open="(" separator="," close=")">
					#{data.[${col}]}
				</foreach>
			</foreach>
		</trim>
	</insert>
#{data.[${col}]} 使用这种方式从嵌套的foreach中按column中顺序取出对应的字段,如果data后面不加.则会保存,未找到data变量

猜你喜欢

转载自blog.csdn.net/fengxing_2/article/details/132193885