1、需求:批量导入文件夹“手机号码归属地”下的所有文本文件,如图:
2、java源代码:
package com.insigma.zd.group4.liuchao.jdbc;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ReadConfigureFile3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "1234";
Connection conn = null;
Statement stmt = null;
try {
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
File file = new File("D:\\share\\手机号码归属地");//得到所选择文件夹
String path = file.getAbsolutePath();//得到选择文件夹的全路径
String[] files = file.list();//取得文件夹下的所有文件
try {
conn.setAutoCommit(false);//设置数据手动提交,自己管理事务
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//
for(int i=0; i<files.length;i++){//遍历文件夹下所有文件
String fileName = files[i].substring(0, files[i].lastIndexOf("."));//取得所选文件名
String province = fileName.substring(0,fileName.length()-2);
String cardType = fileName.substring(fileName.length()-2);
FileInputStream fis = null;
try {
fis = new FileInputStream(path+"\\"+files[i]);
InputStreamReader input = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(input);
String line = null;
String sql = null;
String info[] = null;
try {
while((line = br.readLine())!= null){
info = line.split("-");
sql = sql = "insert into telephone(startPhone,endPhone,city,province,cardType)values('"+ info[0] +"','"+info[1]+"','"+info[2]+"','"+province+"','"+cardType+"')";
//stmt.executeUpdate(sql);
stmt.addBatch(sql);
}
stmt.executeBatch();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
//提交事务
conn.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
3、成功导入到数据库:
分享到:
相关推荐
在IT行业中,批量读取文本文件(如TXT文件)并将其数据导入到数据库是一项常见的任务,特别是在处理大量数据时。这个“批量读取txt文件导入数据库Demo实例”可能是一个示例程序,展示了如何高效地完成这项工作。下面...
在Java编程中,处理文本文件和XML数据是常见的任务,特别是在需要将这些数据存储到数据库时。本篇文章将深入探讨如何解析TXT文件中的XML数据并将其有效地导入到数据库。 首先,我们要理解TXT文件中XML的基本结构。...
9. SQL插入操作:读取到的Excel数据会被构造成SQL插入语句,然后执行以将数据导入到MySQL数据库。注意SQL注入的风险,这里直接拼接SQL语句并不安全,实际应用中应使用参数化查询或者预编译语句。 10. JDBC连接MySQL...
以下是一个简单的Java代码示例,它使用Apache POI库来读取Excel文件(.xls格式),并将其内容插入到MySQL数据库中。 首先,Apache POI是一个流行的API,它允许程序员创建、修改和显示Microsoft Office文件,包括...
- 导入数据:将CSV文件的数据批量导入到关系型数据库,如MySQL、PostgreSQL,通常使用SQL的`LOAD DATA INFILE`语句或编程接口(JDBC)实现。 - 导出数据:从数据库查询结果生成CSV文件,通常涉及遍历查询结果集,...
对于NoSQL数据库,如MongoDB,可以使用`mongoimport`工具或者编程接口(如PyMongo)来批量导入JSON或CSV数据。 每种方法都有其适用场景,选择哪种取决于数据量、数据格式、性能需求以及所使用的数据库系统。了解并...
完成了Excel文件的读取之后,接下来的任务是将这些数据批量导入到数据库中。具体步骤包括: 1. **建立数据库连接**:使用JDBC连接数据库。 2. **创建SQL语句**:根据需要插入的数据结构编写相应的SQL语句。 3. **...
3. **编程语言接口**:如果你熟悉编程,可以使用Python的pandas库或Java的JDBC API来读取Excel文件并批量插入MySQL。例如,Python示例代码如下: ```python import pandas as pd from sqlalchemy import create_...
3. **LOAD DATA INFILE**(MySQL):MySQL提供了一个名为`LOAD DATA INFILE`的命令,允许快速从CSV或其他文本文件导入数据。这种方式比使用INSERT语句快得多,适合大批量数据导入。 4. **BULK INSERT**(SQL Server...
这种方法适用于小到中等规模的数据迁移,对于大量数据,可能需要考虑更高效的方法,如使用ETL工具(Extract, Transform, Load)或者数据库管理系统的批量导入功能。此外,随着技术的发展,现代数据库如MySQL 8.0也...
标题“ExcelDemo.zip”指的是一个压缩包文件,其中包含了与使用Excel文件上传数据到MySQL数据库相关的示例或教程。这个过程通常涉及到数据处理、数据库连接和数据导入等步骤,是IT行业中常见的数据管理任务。 首先...
- 数据库导入:在数据库管理系统中,如MySQL、PostgreSQL等,可以使用LOAD DATA INFILE语句将CSV数据快速导入到表格中,进行数据批量加载。 - 编程语言导入:编程语言如Python、Java、R都有相应的库支持CSV文件的...
本文将围绕“poi点入库处理”这一主题,深入探讨如何使用C#语言结合Apache POI库来处理地图上的POI(Point of Interest)数据,并将其批量导入到MySQL数据库中。首先,我们需要创建一个名为`sa_poi_annotation`的...
在电话簿应用中,用户可能需要导入或导出Excel文件来批量管理联系人。JExcelAPI提供了与Excel电子表格交互的接口,可以读取现有数据,或者创建新的工作表并填充数据。 5. **ZK Framework**: ZK是一个用于构建富...
标题“auto insert_Table_database_MYSQL_”提示我们讨论的主题是关于自动插入数据到MySQL数据库中的表格的程序。这个过程通常涉及到编程,特别是使用SQL语言,可能还包括自动化脚本或存储过程来实现批量或循环插入...
- **数据导出与导入**:提供工具或接口实现数据的批量导入和导出功能。 - **数据备份与恢复**:确保数据的安全性和完整性,定期备份数据并能够在出现故障时快速恢复。 3. **报表生成** - **自定义报表**:允许...
通过这个示例可以了解如何配置Spring Batch来实现数据导入任务,包括配置`ItemReader`读取CSV文件中的数据,配置`ItemWriter`将数据写入MySQL数据库。 #### 七、Spring Batch 3.0新特性 1. **JSR-352支持**:增加...
这通常涉及到读取Excel文件,解析其内容,然后使用SQL语句插入到数据库表中。Python的pandas库、Java的Apache POI和.NET框架中的Microsoft.Office.Interop.Excel接口都可以方便地实现这一功能。确保数据的一致性和...
6. **数据导入导出**:CSV常作为数据库导入导出的格式,例如MySQL、PostgreSQL等支持从CSV文件批量导入数据。 7. **数据隐私**:处理CSV数据时,应考虑数据隐私,确保敏感信息如个人身份信息得到适当保护。 8. **...