Heim >Backend-Entwicklung >PHP-Tutorial >php和java进行交互数据

php和java进行交互数据

WBOY
WBOYOriginal
2016-06-06 20:46:012083Durchsuche

我的问题是:
1、java有自己的数据库a,php也有自己的数据库b。
2、java和php的数据库表结构不一样
3、现在php要获取java数据库a里面的数据来写入到自己数据库b里面
4、如果java库和php库不在同一个服务器或者在同一个服务器(又该怎么解决这个问题呢?)
5、(java有一条新数据就同时写入到php数据库,有两条就写入两条)或者(不进行时时写入,2小时、5小时这样也可以) 不知道我的问题描述的清楚不清楚,请大侠帮我看看,谢谢了

回复内容:

我的问题是:
1、java有自己的数据库a,php也有自己的数据库b。
2、java和php的数据库表结构不一样
3、现在php要获取java数据库a里面的数据来写入到自己数据库b里面
4、如果java库和php库不在同一个服务器或者在同一个服务器(又该怎么解决这个问题呢?)
5、(java有一条新数据就同时写入到php数据库,有两条就写入两条)或者(不进行时时写入,2小时、5小时这样也可以) 不知道我的问题描述的清楚不清楚,请大侠帮我看看,谢谢了

JAVA有新数据插入就推送一条信息到PHP中,PHP接收插入。。。

我最近做的项目也是对接一个JAVA商城.实现方式 采用HTTP 传送JSON格式的数据..
JAVA方有数据修改或者增加--->调用PHP对外接口(验证IP,验证数据合法性等等........)
PHP同样................

因为以前不想用java程序触发php,主要不不太清楚具体如何弄,所以我处理类似的问题的时候是采取下面的方法,如果你对数据同步时间要求不是很高的话。

  1. java插入一条信息,状态为未被数据库b调用
  2. php定时访问一个java的rest api,java调出带有状态标记的数据(未被调用的数据josn)发送给php
  3. php插入成功后,将数据id json串再发回给java api
  4. java将这些id状态标成已经被调用,再验证一下两次发送和接受回来的id号是否一致,如果有出入再把没有insert成功的数据再发送回php,不然就是success。结束

中间把vaildation都考虑清楚,要是api都在内网会比较安全

php难道不能先连a,拿到数据后断开a,再连接b,然后更新数据?似乎不存在跨语言问题,即便用的数据库不同类型比如sql server和mysql,同样可以使用pdo等扩展嘛。。

数据库不存在语言的界限,都是通过网络协议通信的,java或php都可以连接数据库a和b,同时连也可以。如果真的先java和php交互,可以考虑使用thrift RPC框架进行交互。

通过接口来交互,最好不要直连数据库,发生错误时会导致调试困难。可以使用跨语言的RPC框架来进行交互,Thrift也是一个不错的选择

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn