Java如何实现多线程批量导入CSV文件至数据库通过JDBC?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2022个文字,预计阅读时间需要9分钟。
需求是测试一个内存数据库的入库性能,需要为每个线程准备一个文件,10个线程总共入库100万条记录,测试单表入库性能。知识点:JDBC、多线程、批处理、文件读取。
需求是这样的:现在需要测试一个内存数据库的入库性能,要求测试每线程准备一个文件,10个线程入库总计100w记录数的单表入库性能。
知识点:jdbc + 多线程 + 批处理 + 文件读取
先来看看我的代码结构
说明:
files: 存放即将要读取的文件。
lib: 存放第三方的jar文件,例如数据库驱动包。
MemSqlTestMain: 这是工程的入口,就是主程序。
DBUtil: 这个类是数据库帮助类,主要读取数据库配置信息获取连接关闭连接等操作。
InsertUtil: 主要做的是读取数据文件生成sql并批量入库的一个类。
TableDataInfo: 主要对要插入的数据表的对象的一个类。
XMLUtil: 读取XML配置文件
config.xml: 配置要插入的表信息以及文件的路径等信息
dbconfig.properties: 主要对数据库的连接信息进行存储,包括URL,用户名密码等等。
本文共计2022个文字,预计阅读时间需要9分钟。
需求是测试一个内存数据库的入库性能,需要为每个线程准备一个文件,10个线程总共入库100万条记录,测试单表入库性能。知识点:JDBC、多线程、批处理、文件读取。
需求是这样的:现在需要测试一个内存数据库的入库性能,要求测试每线程准备一个文件,10个线程入库总计100w记录数的单表入库性能。
知识点:jdbc + 多线程 + 批处理 + 文件读取
先来看看我的代码结构
说明:
files: 存放即将要读取的文件。
lib: 存放第三方的jar文件,例如数据库驱动包。
MemSqlTestMain: 这是工程的入口,就是主程序。
DBUtil: 这个类是数据库帮助类,主要读取数据库配置信息获取连接关闭连接等操作。
InsertUtil: 主要做的是读取数据文件生成sql并批量入库的一个类。
TableDataInfo: 主要对要插入的数据表的对象的一个类。
XMLUtil: 读取XML配置文件
config.xml: 配置要插入的表信息以及文件的路径等信息
dbconfig.properties: 主要对数据库的连接信息进行存储,包括URL,用户名密码等等。

