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