appfog mysql_appfog java jdbc mysql连接

本来用得好好的openshift被墙了,无奈只能找过一个免费的空间。同学推荐appfog,appfog的确是一个很好用的空间,支持几乎所有主流的技术。我自己喜欢写点java,刚好我就开始使用了。appfog有一个ruby开发的工具af很好地管理自己的app。写好了app直接使用af上传也是非常的方便。web应用数据库当然少不了,我自己一直比较喜欢使用jdbc连接数据库。之前自己写的一个爬虫程序搞了一个音乐的数据,也在openshift上面搞过一个简单的音乐网站。我一开始就打算能不能直接把自己在openshift上面的app直接迁移过来。代码迁移是非常方便的,数据库也可以通过文件的形式进行导入和导出。我遇到的问题是数据库连接的方式不同,在openshift上面数据库的连接是采用硬编码的方式来输入数据库信息的,而在appfog上面则是采用一个动态的变量,这个变量其实是一个json数据。

菜鸟一个,一开始对json数据怎么解析都不是很清楚。花了一点功夫去研究json数据的解析。json解析的包需要自己去json的官网弄一个。我去网上下载了一个jar包,开了了尝试之旅。其实json的解析是很简单的,只是自己不熟悉所以花了一些时间。后来json也解析出来了,但是一直连接不上去。上网google和baidu了很久,听有人说是mysql connector版本的问题,也就换了好几个connector也是连接不上。我一度怀疑又是防火墙的问题。。。纠结了很久,我也调试了确定json数据解析没有问题。后来仔细看代码原来是自己的代码的确出了一点弱智的问题=。=。这里贴一下我的解析代码,自己测试过没有问题,希望能够帮助到同样适用appfog的一些朋友:

String databaseInfo = java.lang.System.getenv("VCAP_SERVICES");if (databaseInfo != null) {try{

JSONObject jsonObject= newJSONObject(databaseInfo);

JSONObject mysqlObj= jsonObject.getJSONArray("mysql-5.1").getJSONObject(0);

JSONObject credentials= mysqlObj.getJSONObject("credentials");this.ServerHost = credentials.getString("hostname");this.port = String.valueOf(credentials.getInt("port"));this.DatabaseName = credentials.getString("name");this.userName = credentials.getString("username");this.passWord = credentials.getString("password");

}catch(JSONException ex) {

Logger.getLogger(ConnectionManager.class.getName()).log(Level.SEVERE, null, ex);

}

}

最后推荐大家使用af 的tunnel功能,可以使用本地mysql工具连接appfog上面的mysql服务也是非常的方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值