1、spring注入数据源


@Resource(name = "dataSource")
private DataSource dataSource;

2、连接数据库批量添加

 public void insertJdbc(List<StatisticStatus> statusList) throws SQLException {
Connection connection = null;
PreparedStatement statement = null;
try {
connection = dataSource.getConnection();
connection.setAutoCommit(false);
String sql = "INSERT INTO statistic_status " +
"(building_name, floor_name, device_id, optime, duration_time, last_optime) " +
"VALUES " +
"(?, ?, ?, ?, ?, ?)";
statement = connection.prepareStatement(sql);
for (StatisticStatus status : statusList) {
statement.setString(1, status.getBuildingName());
statement.setString(2, status.getFloorName());
statement.setString(3, status.getDeviceId());
statement.setTimestamp(4, new java.sql.Timestamp(status.getOptime().getTime())); //不能使用Date类型进行添加,sql.Date只能显示日期,不能显示时间。
statement.setString(5, doorlockStatus.getDurationTime());
statement.setTimestamp(6, new java.sql.Timestamp(status.getLastOptime().getTime()));
statement.addBatch();
}
statement.executeBatch();
connection.commit();
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
statement.close();
connection.close();
}
}

3、编写批量添加方法以供调用

    private void saveBatch(List<StatisticStatus> statusList){
if (CollectionUtils.isEmpty(statusList)){
return;
}
try {
insertJdbc(statusList);
}catch (Exception e){
log.error("saveBatch insertJdbc error : {}",e.getMessage());
}
}

Mybatis使用JDBC实现数据库批量添加的更多相关文章

  1. JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一

    系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...

  2. 使用JDBC,完成数据库批量添加数据操作:

    第一步:定义一个key String key = "into 表名(字段1,字段2,字段3)"; 第二步:定义一个可以增长的变量 StringBuffer values = new ...

  3. (转载)MySQl数据库-批量添加数据的两种方法

    方法一:使用excel表格 方法二:使用insert语句(FileWriter批量写入) 使用excel表格 1.打开数据表,按照表的字段在excel中添加数据.注意:表中字段名必须和excel中的名 ...

  4. django 给数据库批量添加数据

    from .models import Book import random def index(request): book_list = [] for i in range(1, 101): bo ...

  5. Mysql数据库批量添加数据

    1.目的: 用于向Mysql表中批量插入数据 2.过程: 3.语句 #删除已有存储过程 DROP PROCEDURE if exists insertdata; #设定命令行出现//后再执行语句 de ...

  6. JDBC数据库之添加数据

    通过JDBC向数据库中添加数据,可以使用INSERT语句实现插入数据SQL语句,对于SQL语句中的参数可以只用占位符"?"代替,然后通过PreparedStatement对其赋值以 ...

  7. JDBC操作数据库的批处理

    在JDBC开发中,操作数据库需要与数据库建立连接,然后将要执行的SQL语句传送到数据库服务器,最后关闭数据库连接,都是按照这样一个流程进行操作的.如果按照该流程执行多条SQL语句,那么就需要建立多个数 ...

  8. MyBatis、JDBC相关知识

    引言 在mybatis的基础知识中我们已经可以对mybatis的工作方式窥斑见豹.但是,为什么还要要学习mybatis的工作原理?因为,随着mybatis框架的不断发展,如今已经越来越趋于自动化,从代 ...

  9. JDBC操作数据库之连接数据库

    通过JDBC向数据库中添加数据的时候,使用insert语句实现数据的插入,再SQL语句中的参数可以用占位符"?"来替代,然后通过PreparedStatement对象或者State ...

  10. Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案

    转自http://www.cnblogs.com/fnz0/p/5713102.html 不知道自己什么时候才有这种钻研精神- -. 1      背景 系统中需要批量生成单据数据到数据库表,所以采用 ...

随机推荐

  1. 【OpenGL ES】基于ValueAnimator的旋转、平移、缩放动效

    1 前言 ​ ValueAnimator 基于 Choreographer 的 frame callback 机制,周期性(约16.7ms,与屏幕帧率相关)执行其 doAnimationFrame() ...

  2. D. Required Length

    D. Required Length 题意:给你一个长度n,一个数x,x每个后续状态可以由前一个状态乘以前一个状态的某一位上的数字得到,问最少多少步,能把x变成一个n位数.如果不能变成n位数,输出-1 ...

  3. FFmpeg开发笔记(六):ffmpeg解码视频并使用SDL同步时间显示播放

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  4. ubuntu18.04更换下载源

    步骤一 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 步骤二 vim /etc/apt/sources.list 步骤三 # http ...

  5. 【LeetCode哈希表#3】快乐数(set)

    快乐数 力扣题目链接(opens new window) 编写一个算法来判断一个数 n 是不是快乐数. 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程 ...

  6. 【Azure 应用服务】应用服务连接 Azure MySQL 一直失败,报错 Create connection error

    问题描述 App Service上部署的Java应用,连接 Azure Database for MySQL 失败.错误信息:Create connection error, url: jdbc:my ...

  7. 【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)

    问题描述 使用Azure Storage Table的REST API,实现根据过滤条件删除满足条件的数据,调用方法为  Delete Entity (Azure Storage) 问题实现 第一步: ...

  8. CentOS 设置系统时间与网络时间同步

    CentOS 设置系统时间与网络时间同步 一.Linux的时间分为(两种) System Clock(系统时间) 指当前Linux Kernel中的时间 Real Time Clock (硬件时间,简 ...

  9. Win10系统winload.efi丢失或损坏怎么办?修复步骤(以联想笔记本为例)

    winload.efi是通过UEFI方式引导必要的引导文件,如果系统中丢失或是损坏将导致系统无法启动,如win10在出现这样的问题时会出现蓝屏恢复界面,那么此时该如何解决呢?此例为 GPT+UEFI ...

  10. k8s部署nacos集群

    首先创建数据库 nacos 执行以下语句 CREATE TABLE `config_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'i ...