使用java获得网页数据并保存到mysql数据库(oracle大致同理)
这个大多数会运用在跨境物流上,还有银行项目(温馨提示:只有公开的数据源才可以安全的使用--切勿自误)
比如说是获取海关信息,获取汇率信息 ......等等
第一步
新建实体类(示例);
public class Money {//id 自增private Integer ID;//数量金额private String qtyAmt;//货币种类private String cType;//汇率金额private String ZqtyAmt;//汇率的货币private String cTypeos;//录入时间private Date date;public Integer getID() {return ID;}public void setID(Integer ID) {this.ID = ID;}public String getQtyAmt() {return qtyAmt;}public void setQtyAmt(String qtyAmt) {this.qtyAmt = qtyAmt;}public String getcType() {return cType;}public void setcType(String cType) {this.cType = cType;}public String getZqtyAmt() {return ZqtyAmt;}public void setZqtyAmt(String zqtyAmt) {ZqtyAmt = zqtyAmt;}public String getcTypeos() {return cTypeos;}public void setcTypeos(String cTypeos) {this.cTypeos = cTypeos;}public Date getDate() {return date;}public void setDate(Date date) {this.date = date;}@Overridepublic String toString() {return "Money{" +"ID=" + ID +", qtyAmt='" + qtyAmt + '\'' +", cType='" + cType + '\'' +", ZqtyAmt='" + ZqtyAmt + '\'' +", cTypeos='" + cTypeos + '\'' +", date=" + date +'}';}
}
数据库的表,我就不演示了,应该都会.
第二步
写个批量新增的接口
public interface MoneyMapper {//汇率转换 获取数据库void ExchangeRateConversion(@Param("samples") List<Money> samples);}
对应的mapper.xml sql语句实现
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.quartz.mapper.MoneyMapper"><insert id="ExchangeRateConversion">INSERT INTO money(qtyAmt, cType, ZqtyAmt, cTypeos, date )VALUES<foreach collection="samples" item="sample" index="index" separator=",">(#{sample.qtyAmt},#{sample.cType},#{sample.ZqtyAmt},#{sample.cTypeos},#{sample.date})</foreach></insert></mapper>
第三步
逻辑实现
由于这个在后台是直接由定时任务调用,所以controller层没有,我就直接展示,基础逻辑了.有需要可以直接copy.
List<String> samples = new ArrayList<>();SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");String time=dateFormat.format(new Date());System.out.println(time);RestTemplate restTemplate = new RestTemplate();String forObject = restTemplate.getForObject("http://m.safe.gov.cn/AppStructured/hlw/jsonRmb.do?date"+time, String.class);List<Money> ss = new ArrayList<>();forObject = forObject.replace("[[","[");forObject = forObject.replace("]]","]");forObject= forObject.replace("],[","];[");String[] split = forObject.split(";");for (String s : split) {s = s.replace("[","");s = s.replace("]","");String[] split1 = s.split(",");Money money = new Money();money.setQtyAmt(split1[0]);money.setcType(split1[1]);money.setZqtyAmt(split1[2]);money.setcTypeos(split1[3]);money.setDate(new Date());ss.add(money);}samples.add(forObject);moneyMapper.ExchangeRateConversion(ss);
如果set实体类报红,检测数据类型是否一致,如果mapper报红,依赖是否有导入
原理: 首先通过http发送请求,获得当日的汇率数据,
其次,将得到的数据进行拆分,得到我们可以使用的list插入数据
最后依次对应数据库的列进行插入即可.
(如果有更好的方法 欢迎大家讨论)
第四步
效果展示
使用java获得网页数据并保存到mysql数据库(oracle大致同理)相关推荐
- java解析json文件并保存到mysql数据库
一.数据是从"聚合数据"这个网站获取的,点我下载json文件,访问相应的地址,就返回很长的json格式的数据.因为不太了解json数据格式,我自己另外加了双引号(其实值的部分可以是 ...
- Java聊天表情包emoji保存到Mysql数据库
一.系统要求,聊天系统聊天中使用 emoji 表情包,直接按字符串存到数据库中会报错.主要是编码问题,mysql的utf8最多三个字节,一个 emoji 表情点4个字节,所以出错,新版的mysql有新 ...
- mysql打印语句_大数据挖掘—(八):scrapy爬取数据保存到MySql数据库
(大数据挖掘-(七):读懂MySql数据库操作)(大数据挖掘神器--scrapy spider爬虫框架(五):解析多层网页) 通过往期的文章分享,我们了解了如何爬取想要的数据到Items中,也了解了如 ...
- python股票接口_Python 从 sina 股票数据接口读取数据,并保存到 MySQL 数据库
说明 从 sina 的数据接口获取数据,之后,保存到 MySql 数据库 文件:getDataFromSina.py ''' Created on 2018年2月11日 @author: Livon ...
- 将labview连续数据保存到mysql数据库器
这一篇是在之前完成Labview和mysql连接,并且进行了简单的CRUD删除的基础上来的.我们一般不会拿Labview来做学生这种数据管理系统,而是对于基本传感器数据的采集和保存,而传感器采集数据会 ...
- android数据库给单选赋值,如何使用android studio将单选按钮的值保存到mysql数据库?...
我想创建一个投票应用程序,其中有不同的职位,其中有两个职位每个都有两个联系人.我希望当我选择一个人记录到数据库. [职位的disgn与它的参赛者部] 下面是XML代码的一部分:如何使用android ...
- python hive mysql_[7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站...
编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) 很多情况下,需要将Hive中的运算结果保存到MySQL数据库中,可以通过简单的Python脚本来实现. 例子1:如果获取Hive ...
- [7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站...
[7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站 [7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - ...
- monolog mysql_Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法...
本文实例讲述了Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法.分享给大家供大家参考,具体如下: Laravel中使用monolog_mysql将系统日志 ...
最新文章
- 小程序前端性能测试_如何提高前端应用程序的性能
- python消费kafka逻辑处理导致cpu升高_请教:Python模块KafkaConsumer会被Kerberos的状态影响嘛?...
- VTK:绘制BlankPoint空白点用法实战
- 对于牛老师作业陈老师作业补充(老陈、小石头的典型用户、用例图、场景)...
- 蓝桥杯第八届省赛JAVA真题----日期问题
- 英国科学家研究用AI预测地震:未来或提前一周预报
- java eclipse 入门_Eclipse使用入门教程介绍
- Kubernetes详解(二十四)——Deployment控制器更新实战与查看
- Java中方法中的参数传递
- 线性反馈移位寄存器 LFSR
- CompoundButton 选中/未选中状态的按钮
- 大数据开发培训课程:Hive的静态分区与动态分区
- 服务器输出字符流数据到浏览器 使用println浏览器无显示
- 科学计算机中的dms在哪,计算机视觉方向简介 | 驾驶员监控DMS
- 数字人民币隐私与个人信息保护
- learning_git_from_Liao
- 如何自定义 conventional-changelog
- Android Studio 个性化主题配置。
- 在vue中把数据导出Excel文件
- find,link,dhcp
热门文章
- Revit二开-设备(消防箱)翻模
- 常用正则表达式爬取网页信息及HTML分析总结
- IF10 家系研究 | OGDHL变异导致神经发育谱系疾病,表现为癫痫、听力与视力障碍等...
- Go语言web开发入门
- 360手机刷机包 360手机线刷包 360手机卡刷包
- 『牛客|每日一题』走迷宫
- 阿里P7级别架构师教你HashMap的工作原理
- FairyGUI人物状态弹窗
- redist mysql_SQL Redist content: Command line option syntax error. Type C
- 【狂神说Java】Redis最新超详细版教程通俗易懂1 2020-04-01:NoSQL分类,Redis Windows和Linux安装,性能测试,String,List,Set,Hash,Zset