使用springboot集成Mysql数据库,并使用java代码循环向msql数据库插入100万条数据,并测试插入时间
idea代码开发工具
mysq5.7.38
Navicat可视化工具
MySpringBootApplication.java
package com.xiaoa;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class MySpringBootApplication {public static void main(String[] args) {SpringApplication.run(MySpringBootApplication.class);}}
MySchedulRunner.java,此类使用 JdbcTemplate 执行拼接的sql语句。
package com.xiaoa.run;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;@Component
public class MySchedulRunner implements CommandLineRunner {private static final Logger LOGGER = LoggerFactory.getLogger(MySchedulRunner.class);@AutowiredJdbcTemplate jdbcTemplate;@Overridepublic void run(String... args) {/**向数据库t_user表循环插入数据*/String sql = "";long t1 = System.currentTimeMillis();int batchNum = 1000000;for (int i = 1; i <= batchNum; i++) {sql = "INSERT INTO t_user VALUES (" + i + ",'张三', 20, '男', '2019-01-01 00:00:01')";jdbcTemplate.execute(sql);}long t2 = System.currentTimeMillis();LOGGER.info("插入{}条数据,耗时{}秒", batchNum, (t2 - t1) / 1000);}
数据成功插入到myql数据库中!
经过测试此代码成功将100万条数据插入到了mysql数据库,耗时2116秒,约1000000/2116=472条/秒,速度比手工插入还是快很多的!
使用Navicat查看表结构
CREATE TABLE `t_user` (`id` int(11) NOT NULL,`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,`age` int(11) NULL DEFAULT NULL,`sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,`createtime` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;SET FOREIGN_KEY_CHECKS = 1;
4.0.0 org.springframework.boot spring-boot-starter-parent 2.0.4.RELEASE com.xiaoa springboot-mysql 1.0-SNAPSHOT xiaoa-mysql springboot集成mysql 8 8 org.springframework.boot spring-boot-starter-web mysql mysql-connector-java 5.1.40 org.springframework.boot spring-boot-starter-jdbc org.springframework.boot spring-boot-maven-plugin repackage
spring:#DB Configuration:datasource:driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.88.128:3306/canel?useUnicode=true&characterEncoding=utf8username: rootpassword: 123456
server:port: 8085
上一篇:给我薄面是什么意思