QX项目实战-3.读取数据、数据写入数据库、读出数据生成新文件
2012-10-23 10:49
204 查看
上篇文章记录了配置文件的读写,属于系统功能的模块。而预处理、处理以及生产部分的实验,在本文章进行总结。
读文件:使用br = new BufferedReader(new FileReader(file));来打开文件,进行读文件。使用StringBuffer来分行存储读入的数据文件到内存中。
解析文件:因为文件单行数据需要解析到数据库表中的一行中,所以需要对各行进行解析。又因为各行数据格式并不一致,所以需要分立地对数据进行解析,因此最好的方法是使用正则表达式来分离数据。例如使用:Pattern.matches("[PTI]+",rec[0])来匹配以PTI三字母之一开头的字串。
写库:将文件从数据库中读出,输出到文件中去。
新建数据库连接类,单例模式下返回数据库连接对象:getInstance()函数返回连接对象。单例模式如下:
在操作中使用PreparedStatement对数据进行读写操作。
需要思考的是,上文解析时使用的正则表达式,能不能在这里使用,缩短开发步骤呢。
大体上的流程处理功能,在这个基础上就已经可以使用了。但是效率问题,架构何不合理、代码规不规范这里都没有考虑。所以下一步还是要从架构和设计上重新思考。
参考:
1. QX项目实战-1.需求分析
2. QX项目实战-2.模块分类以及配置读取
1. 预处理(文本源数据读入、解析、进入数据库)
预处理部分从文本元数据文件中读入文件,然后解析成数据表的内容,最后写入数据库。这个过程可以分为读文件、解析和写库三个部分。读文件:使用br = new BufferedReader(new FileReader(file));来打开文件,进行读文件。使用StringBuffer来分行存储读入的数据文件到内存中。
解析文件:因为文件单行数据需要解析到数据库表中的一行中,所以需要对各行进行解析。又因为各行数据格式并不一致,所以需要分立地对数据进行解析,因此最好的方法是使用正则表达式来分离数据。例如使用:Pattern.matches("[PTI]+",rec[0])来匹配以PTI三字母之一开头的字串。
写库:将文件从数据库中读出,输出到文件中去。
FileWriter fw = new FileWriter(newFile(fileName)); fw.write(getStationFromDb());
2. 处理(数据的CURD操作)
处理部分是对数据库进行CURD操作,这部分牵涉到质量控制部分,以后才会有更深入的使用。这里只是讲述下使用的一般方法,类似与上文读取,写入内容,数据库操作方法为:新建数据库连接类,单例模式下返回数据库连接对象:getInstance()函数返回连接对象。单例模式如下:
public static Connection getInstance(){ if (conn == null) { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url ="jdbc:sqlserver://localhost:1433;databaseName=weather"; try { conn = DriverManager.getConnection(url,"ThisIsAUserName","ThisIsAPassword"); } catch (SQLException e) { e.printStackTrace(); } return conn; } catch (ClassNotFoundException e) { e.printStackTrace(); } } else { return conn; } return conn; }
在操作中使用PreparedStatement对数据进行读写操作。
PreparedStatement pstmt = this.conn.prepareStatement("INSERT INTOtest (?)"); pstmt.setString(1,info[0]); status= pstmt.executeUpdate();
3. 生产(从数据库生产处符合质量控制的数据)
生产就是把数据从数据库中读出,新建一个文本文件。这个过程比较简单,读取使用CUDR操作,生成文件使用:FileWriter fw =new FileWriter(new File(fileName)); fw.write(getStationFromDb()); fw.flush(); fw.close();
需要思考的是,上文解析时使用的正则表达式,能不能在这里使用,缩短开发步骤呢。
大体上的流程处理功能,在这个基础上就已经可以使用了。但是效率问题,架构何不合理、代码规不规范这里都没有考虑。所以下一步还是要从架构和设计上重新思考。
参考:
1. QX项目实战-1.需求分析
2. QX项目实战-2.模块分类以及配置读取
相关文章推荐
- java小程序从数据库中(表)中读取数据然后创建文件夹生成txt文件
- 【JAVA】读取和写入数据库生成的dbf文件
- 读取Assets中的文件并写入数据库然后读出
- asp.net(c#)如何读取上传过程中的.txt文件中的数据,并将其写入数据库的
- Python从数据库读取大量数据批量写入文件
- 利用spring batch 读取数据库中的数据写入到txt文件中
- 如何从网页上读取数据,将数据写入文件和读出
- SQL C# nvarchar类型转换为int类型 多表查询的问题,查询结果到新表,TXT数据读取到控件和数据库,生成在控件中的数据如何存到TXT文件中
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- 用java代码实现从excel表格读取数据然后写入生成国际化配置文件properties
- ADO.NET基础实战 从文件读取数据插入到数据库
- vc2008: 控制台程序将数据写入MySql(数据库信息从配置文件读取)
- 如何通过JDBC向数据库写入/读取大数据文件?
- 自己编写的一个程序:读取XML格式的日志文件,并以一定的数据写入数据库中
- 将oracle中blob数据写入文件,再把文件读取插入数据库
- Python3 大型网络爬虫实战 004 — scrapy 大型静态商城网站爬虫项目编写及数据写入数据库实战 — 实战:爬取淘宝
- 插入数据读取数据库写入到Text文件保存
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- 从数据库中读取数据,并写入xml文件中(dom4j)