Mybatis注解方式 实现批量插入数据库
程序员文章站
2022-05-10 19:59:26
...
可以使用MyBatis的@InsertProvider注解
实现代码如下:
@InsertProvider(type = CyQuestionDetailProvider.class, method = "batchInsertQuestionDetail")
Integer batchInsertQuestionDetail(@Param("list")List<CyQuestionDetail> records);
class CyQuestionDetailProvider {
public String batchInsertQuestionDetail(Map<String, List<CyQuestionDetail>> map) {
List<CyQuestionDetail> list = map.get("list");
StringBuilder stringBuilder = new StringBuilder(256);
stringBuilder.append("insert into test(QuesID, Type, Text, File, Age, Gender, CreateTime, XJFilePath) values");
MessageFormat messageFormat = new MessageFormat("(#'{'list[{0}].quesId,jdbcType=INTEGER}, " +
"#'{'list[{0}].type,jdbcType=VARCHAR}, #'{'list[{0}].text,jdbcType=VARCHAR}, " +
"#'{'list[{0}].file,jdbcType=VARCHAR}, #'{'list[{0}].age,jdbcType=VARCHAR}, " +
"#'{'list[{0}].gender,jdbcType=VARCHAR},CURRENT_TIMESTAMP(), " +
"#'{'list[{0}].xjFilePath,jdbcType=VARCHAR})");
for (int i = 0; i < list.size(); i++) {
stringBuilder.append(messageFormat.format(new Integer[]{i}));
stringBuilder.append(",");
}
stringBuilder.setLength(stringBuilder.length() - 1);
return stringBuilder.toString();
}
}
转载于:https://my.oschina.net/niithub/blog/1837923
下一篇: Mybatis批量插入Oracle数据库
推荐阅读
-
java连接mysql数据库实现单条插入和批量插入
-
企业生产实践--生产环境批量插入百万数据到数据库几种实现方式(二)
-
c#实现几种数据库的大数据批量插入
-
mybatis实现批量修改-xml方式
-
asp实现批量插入表单中的数据到数据库的方法
-
day62 JavaWeb框架阶段—— Mybatis的注解开发&SSM框架整合(原始方式整合&Spring整合MyBatis& MyBatis的注解实现复杂映射开发)
-
Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
-
Mybatis数据批量插入如何实现
-
spring中使用mybatis实现批量插入的示例代码
-
Mybatis批量插入数据返回主键的实现