Posso optar por usar o
LOAD DATA
instrução do MySQL em vez de usar Java:LOAD DATA LOCAL INFILE '/path/to/your/file.csv' INTO TABLE table;
Isso evitaria muito da sobrecarga que você tem atualmente, supondo que você esteja processando cada linha antes de inseri-la no MySQL.
Você pode executar um
LOAD DATA
instrução de Java usando JDBC bruto.