目录
- 场景介绍
- 项目配置
- Mybatis为什么慢?
- JdbcTemplate让我眼前一亮
- 原生JDBC就是快啊!
- 存储过程怎么样?
- 越简单越快
前言
一直有一种说法:批量插入大量数据到MySQL数据库,不要使用Mybatis、Hibernate之类的ORM框架,原因一般都是说性能不好,至于为什么不好好像没几个人能讲清楚的。
批量插入大量数据最优的方式是什么?网上也是众说纷纭。不如自己动手测试一下吧!
场景介绍
前几天公司项目进行压力测试,测试某个功能在大数据量(千万级)的情况下是否能够正常运行,可是项目还没有正式上线运营,数据库里只有少量开发时用的假数据。
没有数据怎么测试啊?这可愁坏测试的小姐姐们了,向我求助让我尽快往数据库中导入1000万数据给她们测试用。
于是接到任务:快速往MySQL数据库中导入1000万数据
项目配置
啥也不说了,抓紧时间开搞!
首先交代一下电脑环境:
- 操作系统:WIN10(专业版)
- 开发工具:IntelliJ IDEA Ultimate(2019.2.1)
- 项目框架:Spring Boot(2.2.5.RELEASE)
- 数据库:MySQL(5.7.27)
项目配置步骤:
- 使用IDEA的Spring Initializr插件新建Spring Boot的项目,打开pom.xml,添加一些必要的Maven依赖,主要是mybatis-spring-boot-starter和mysql-connector-java;
- MySQL中新建一张user表,为了方便演示只保留id、昵称、年龄3个字段,建表语句;
- 再次打开pom.xml文件,添加mybatis generator插件用于自动生成mapper映射文件;
- 上一步添加了mybatis generator插件之后还不能直接使用,还需要在项目resources目录下新建一个配置文件generatorConfig.xml,里面主要需要配置数据库连接信息、Model文件生成目录、Mapper文件生成目录、以及xml文件生成目录;
- 打开resources目录下的application.properties(或是application.yml)文件,添加一下mybatis相关配置和项目数据库连接配置;