mdb格式是微软ACCESS数据库文件,可直接从access打开。本文主要是实现转为json格式文件的操作。
处理步骤:
1.预处理:
1)导入驱动
下载地址:https://download.csdn.net/download/raindrop1988/10499459
官网的版本只支持查询一千条,所以建议下载以上的破解版本。
需加载驱动:
com.hxtt.sql.access.AccessDriver
url:
"jdbc:Access:///数据库文件路径"
连接示例:
package Test_01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MySQLTest {
public static void main(String[] args) throws Exception {
try {
///加载驱动jar
Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
//指定Access数据库文件的位置
String url = "jdbc:Access:///d:/a1.mdb";//注意此处的斜杠是三个
//建立连接
Connection conn = DriverManager.getConnection(url, "", "");
Statement sta = conn.createStatement();
//输入表名
String sqlStatement= "SELECT * FROM name";
ResultSet rs = sta.executeQuery(sqlStatement);
System.out.println("\n查找到的学生信息");
System.out.println("--------------------------");
while (rs.next()) {
System.out.print(rs.getString(2)+"\t");
System.out.print(rs.getString(3)+"\t");
System.out.print(rs.getString(4)+"\t");
System.out.print(rs.getDate(5)+"\t");
System.out.print(rs.getDouble(6)+"\n");
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
2.处理框架
4)处理模块及功能:
loader:
接口。
含有:next(),hasNext().
功能:定义有表头数据库某一行处理方法都必须要使用的两个函数。
AccessLoaderWithTitle:
Access处理实现类。
next:返回结果字符串
txtLoader:建立Access数据库连接,并读取key和对应value。
hasnext:判断是否有下一行,并把字符串写入jsonobject。
ToResultInterface:
接口。
含有:getResult(line)
功能:定义各种字符串得到jsonobject的方法。
SpiltToResultTmpl:
继承自ToResultInterface的具体实现类。
功能:将一行jsonobject的映射到的key和value重组,形成已经映射好的jsonobject。
AbstractProcessFactory:
抽象类。
含有:loader 和ToResultInterface两个接口。以及组装全流程的方法process。
功能:定义作为一个工厂的组装全部组件的功能。
SQLfactory:
继承自AbstractProcessFactory的带表头工厂具体实现类。
adjustResult:对某一条jsonobject的字段名或值进行处理,添加source字段,entityname字段,rowkey字段。
main:设置路径,映射字段的映射,编码格式,将结果写入文件。
5)处理框架步骤
主要由工厂,处理某一行的sqlloader组件,映射重组的ToResult组件,组成。
在工厂中:
1.将参数填好
2.初步处理文件:
a.每一行数据读取并抽出变成jsonobject
b.jsonobject转变成想要的映射
3.调整到最终内容
4.写入文件。
注意:数据库存在空值,注意做字符串处理。
网友评论