appfog mysql_appfog java jdbc mysql连接
本來用得好好的openshift被墻了,無奈只能找過一個免費的空間。同學推薦appfog,appfog的確是一個很好用的空間,支持幾乎所有主流的技術(shù)。我自己喜歡寫點java,剛好我就開始使用了。appfog有一個ruby開發(fā)的工具af很好地管理自己的app。寫好了app直接使用af上傳也是非常的方便。web應用數(shù)據(jù)庫當然少不了,我自己一直比較喜歡使用jdbc連接數(shù)據(jù)庫。之前自己寫的一個爬蟲程序搞了一個音樂的數(shù)據(jù),也在openshift上面搞過一個簡單的音樂網(wǎng)站。我一開始就打算能不能直接把自己在openshift上面的app直接遷移過來。代碼遷移是非常方便的,數(shù)據(jù)庫也可以通過文件的形式進行導入和導出。我遇到的問題是數(shù)據(jù)庫連接的方式不同,在openshift上面數(shù)據(jù)庫的連接是采用硬編碼的方式來輸入數(shù)據(jù)庫信息的,而在appfog上面則是采用一個動態(tài)的變量,這個變量其實是一個json數(shù)據(jù)。
菜鳥一個,一開始對json數(shù)據(jù)怎么解析都不是很清楚。花了一點功夫去研究json數(shù)據(jù)的解析。json解析的包需要自己去json的官網(wǎng)弄一個。我去網(wǎng)上下載了一個jar包,開了了嘗試之旅。其實json的解析是很簡單的,只是自己不熟悉所以花了一些時間。后來json也解析出來了,但是一直連接不上去。上網(wǎng)google和baidu了很久,聽有人說是mysql connector版本的問題,也就換了好幾個connector也是連接不上。我一度懷疑又是防火墻的問題。。。糾結(jié)了很久,我也調(diào)試了確定json數(shù)據(jù)解析沒有問題。后來仔細看代碼原來是自己的代碼的確出了一點弱智的問題=。=。這里貼一下我的解析代碼,自己測試過沒有問題,希望能夠幫助到同樣適用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服務也是非常的方便。
總結(jié)
以上是生活随笔為你收集整理的appfog mysql_appfog java jdbc mysql连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: mysql 执行计划不对_关于mysql
 - 下一篇: mysql 删除顺序_mysql 添加字