mybatis插入动态表数据
在MyBatis中,可以使用动态SQL来插入动态表数据。首先,需要在插入语句中使用<trim>标签来动态生成插入的列和对应的值。
示例代码如下:
<insert id="insertDynamicData" parameterType="java.util.Map">
INSERT INTO ${tableName}
<trim prefix="(" suffix=")" suffixOverrides=",">
<foreach collection="columns" item="column">
${column}
</foreach>
</trim>
VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
<foreach collection="values" item="value">
#{value}
</foreach>
</trim>
</insert>
在上述示例中,${tableName}是动态传入的表名,columns和values是动态传入的列名和对应的值。
在Java代码中,可以通过创建一个Map来传递动态数据,示例代码如下:
Map<String, Object> data = new HashMap<>();
data.put("tableName", "dynamic_table");
data.put("columns", Arrays.asList("column1", "column2"));
data.put("values", Arrays.asList("value1", "value2"));
sqlSession.insert("insertDynamicData", data);
通过上述代码,可以将动态表数据插入到指定的表中
原文地址: https://www.cveoy.top/t/topic/ingN 著作权归作者所有。请勿转载和采集!