MyBatis 动态插入 List 数据 - 表名和数据动态变化
MyBatis可以使用动态SQL语句来实现动态插入list数据,表名和数据都是动态的。
1. 动态生成SQL语句
在MyBatis中,可以使用动态SQL语句来动态生成INSERT语句。首先,需要使用`
示例代码如下:
<insert id="insertList" parameterType="java.util.List">
INSERT INTO ${tableName}
<foreach collection="list" item="item" separator=",">
(#{item.field1}, #{item.field2}, #{item.field3})
</foreach>
</insert>
2. 调用动态插入方法
在Java代码中,可以使用MyBatis的`SqlSession`接口来调用动态插入方法。首先,需要创建一个`HashMap`对象,用于存储动态的表名。然后,使用`SqlSession`的`insert`方法来调用动态插入方法,同时传入动态的表名和list数据。
示例代码如下:
Map<String, Object> map = new HashMap<>();
map.put("tableName", "dynamic_table_name");
List<MyObject> list = new ArrayList<>();
// 添加list元素
sqlSession.insert("insertList", map, list);
注意,动态插入方法的参数类型应该是`Map
原文地址: https://www.cveoy.top/t/topic/oWrN 著作权归作者所有。请勿转载和采集!