java 数据库数据写接口_Java读取接口数据并保存到数据库
public class Test05GetData {
//guo sheng shi xian zhen cun的表结构完全一样。数据全部读取完毕之后再将数据整合到同一张表中
protected static String parentTable = "sheng";// 父表
protected static String insertTable = "shi";// 字表
protected static String daima = "";// 代码
protected static int dataCount = 0;// 计数器
protected static int totalData = 0;// 父表总记录数
protected static Connection connection = null;
protected static Statement statement = null;
protected static ResultSet resultSet = null;
public static void main(String[] args) {
connection = DBConnection.getOracleConnection();
statement = null;
resultSet = null;
Listlist = new ArrayList();
try {
statement = connection.createStatement();
resultSet = statement.executeQuery("select * from " + parentTable);
while (resultSet.next()) {
totalData ++;
daima = resultSet.getString("daima");
list.add(daima);
}
System.out.println("tatalData:" + totalData);
} catch (Exception e) {
e.printStackTrace();
}
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String string = (String) iterator.next();
dataCount ++;
double x1 = ((double)dataCount/(double)totalData)*100.0 ;
System.out.print("第" + dataCount + "个父项,");
System.out.println(String.format("%.2f", x1) + "%");//显示完成的百分比
query(string);
}
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if(connection != null){
connection.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void query(String daima) {
String url = "http://api.dangqian.com/apidiqu2/api.asp?id=" + daima;
StringBuilder stringBuilder = new StringBuilder();
URL oracle;
try {
oracle = new URL(url);
URLConnection yc = oracle.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String inputLine = null;
while ((inputLine = br.readLine()) != null) {
stringBuilder.append(inputLine);
}
br.close();
String str = stringBuilder.toString();
StringBuffer stringBuffer = new StringBuffer(str);
stringBuffer.delete(0, 9);
stringBuffer.deleteCharAt(stringBuffer.length() - 1);
System.out.println(stringBuffer);
JSONObject jsonobject = JSONObject.fromObject(stringBuffer.toString());
JSONObject jsonobject1 = (JSONObject) jsonobject.get("list");
// System.out.println(jsonobject1);
List list = new ArrayList();
for (Iterator iter = jsonobject1.keys(); iter.hasNext();) {
String key = (String) iter.next();
Shi shi = (Shi) JSONObject.toBean(
(JSONObject) jsonobject1.get(key), Shi.class);
list.add(shi);
}
saveData(list);
} catch (Exception e) {
e.printStackTrace();
}
}
protected static void saveData(Listlist){//将读取的数据存储到数据库
String sql = "insert into "+ insertTable+" values(?,?,?,?)";
Shi shi = null;
int size = list.size();
try {
for (int i = 0; i
shi = list.get(i);
sql = "insert into "+ insertTable+" (zidi,diming,daima,dengji)values("+shi.getZidi()+",‘"+shi.getDiming()+"‘,‘"+shi.getDaima()+"‘,"+shi.getDengji()+")";
statement.execute(sql);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
返回的数据如下callback({ "is_login":1, "site":"中国行政区划api", "url":"http://api.dangqian.com/apidiqu2/", "jieshao":"省市县乡村五级行政区划地址信息库", "idengji":"2", "idiming":"湖北", "idaima":"420000000000", "diming1":"中国", "daima1":"000000000000", "diming2":"湖北省", "daima2":"420000000000", "diming3":"", "daima3":"", "diming4":"", "daima4":"", "diming5":"", "daima5":"", "diming6":"", "daima6":"", "zidi":14, "banben":"2012", "zhizao":"王建然", "qq":"250247045", "riqi":"2013-4-21 16:08:25", "shike":"2014-8-25 9:29:46", "id":"17", "list":{ "wjr1":{"dengji":"3","diming":"武汉市","daima":"420100000000","zidi":13}, "wjr2":{"dengji":"3","diming":"黄石市","daima":"420200000000","zidi":6}, "wjr3":{"dengji":"3","diming":"十堰市","daima":"420300000000","zidi":8}, "wjr4":{"dengji":"3","diming":"宜昌市","daima":"420500000000","zidi":13}, "wjr5":{"dengji":"3","diming":"襄阳市","daima":"420600000000","zidi":9}, "wjr6":{"dengji":"3","diming":"鄂州市","daima":"420700000000","zidi":3}, "wjr7":{"dengji":"3","diming":"荆门市","daima":"420800000000","zidi":5}, "wjr8":{"dengji":"3","diming":"孝感市","daima":"420900000000","zidi":7}, "wjr9":{"dengji":"3","diming":"荆州市","daima":"421000000000","zidi":8}, "wjr10":{"dengji":"3","diming":"黄冈市","daima":"421100000000","zidi":10}, "wjr11":{"dengji":"3","diming":"咸宁市","daima":"421200000000","zidi":6}, "wjr12":{"dengji":"3","diming":"随州市","daima":"421300000000","zidi":3}, "wjr13":{"dengji":"3","diming":"恩施土家族苗族自治州","daima":"422800000000","zidi":8}, "wjr14":{"dengji":"3","diming":"省直辖县级行政区划","daima":"429000000000","zidi":4} } })
只需要解析出其中的list部分存储到数据库即可。
以上内容仅供技术分享,涉及到的任何法律问题与本人及51cto无关。请勿用于商业用途!
原文:http://shamrock.blog.51cto.com/2079212/1544270
java 数据库数据写接口_Java读取接口数据并保存到数据库相关推荐
- java读取字节流设置字节数组长度_java读取流数据时,字节缓存数组,第一次读取时,是否读满,才进行下次读取??...
使用缓存字节数组读取java字节流时,第一次读取是,读满缓存字节数组大小,才进行下次读取,还是随机读一个小于数组大小的值,再进行下次读取??? 读取本地文件时,首次读取读满整个字节数组,在进行下次读取 ...
- java8接口写静态方法_Java 8接口更改–静态方法,默认方法
java8接口写静态方法 Java 8 interface changes include static methods and default methods in interfaces. Prio ...
- java supplier接口_Java函数式接口Supplier接口实例详解
这篇文章主要介绍了Java函数式接口Supplier接口实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JDK提供了大量常用的函数式接口以丰 ...
- java的iterator接口_java Iterator接口和LIstIterator接口分析_java_脚本之家
java Iterator接口和LIstIterator接口分析 目录 1.Iterator接口 2.ListIterator 3.Iterator和ListIterator的区别 正文 在继续看A ...
- Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解
这篇文章主要介绍了Java Iterator接口遍历单列集合迭代器原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Iterator接口概述 ...
- java future接口_java Future 接口介绍
在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现. Future接口是Java标准API的一部分,在java.uti ...
- java工厂到接口_Java基础——接口简单工厂
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 一.接口 1.接口只做规范和声明不做实现: 2.java中类 ...
- java json 中文_java读取json数据中文乱码解决
java读取json数据出现乱码的代码:(推荐:java视频教程)//从json文件中读取数据 StringBuffer stringBuffer = new StringBuffer(); try ...
- interface接口_Java程序设计--接口interface(笔记)
有时必须从几个类中派生出一个子类,继承它们所有的属性和方法.但是,Java不支持多重继承.有了接口,就可以得到多重继承的效果. 有时必须从几个类中抽取出一些共同的行为特征,而它们之间又没有继承关系,仅 ...
最新文章
- 【计算机视觉】EmguCV学习笔记(1)Hello World
- 【c语言】输入天数,求这天是全年的第几周的第几天
- [转]搞ACM的你伤不起(转自Roba大神)
- 用WPS表格轻松设计工资条
- (初级)数字信号处理目录(不只是目录)
- ELK菜鸟手记 (三) - X-Pack权限控制之给Kibana加上登录控制以及index_not_found_exception问题解决
- 卫星轨道推演计算相关知识点总结(含欧拉角、旋转矩阵、及各坐标系转化等)
- 【网络安全】Penelope:一款功能强大的Shell处理工具
- 两周的时间教会我,要低头做人(jQuery实现京东购物车)
- quartz配置_基于spring-boot 2.x +quartz 的CRUD任务管理系统
- myeclipse试用小记----Hibernate多对一双向关联(2)
- 漫画:Integer 竟然有 4 种比较方法?
- 《Ext JS高级程序设计》节选:在CRUD操作中restful的设置以及使用Ext.Direct的问题...
- 目录下文件过多无法删除
- Uncaught Error: Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)
- VB 单击ListView控件某列表头进行排序
- 2022-2027年中国OLED显示面板行业发展监测及投资战略研究报告
- 来了!Android应用市场64位应用策略
- 免费录屏软件Captura下载安装及分享
- 解决U盘文件变成快捷方式的最佳方法