本来用得好好的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 = new JSONObject(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服务也是非常的方便。

appfog java jdbc mysql连接的更多相关文章

  1. Java 与 Mysql连接,并分页显示

    这是我第一个上规模的Java项目,我们必须在一周内完成的作业,零基础学习Java,网上收集了很多资料,逐渐对面向对象的思想有所了解,但还是半灌水,后期打算结合项目系统地学习一遍Java.老师布置的任务 ...

  2. 让Java和MySQL连接起来

    Java 连接 MySQL 需要驱动包,可以下载菜鸟教程提供的 jar 包:http://static.runoob.com/download/mysql-connector-java-5.1.39- ...

  3. java与mysql连接

    package DBHelper; import java.sql.*; public class Demo { public static void main(String[] args) { St ...

  4. Java JDBC MySQL

    一.驱动 下载地址:https://dev.mysql.com/downloads/connector/j/ 二.数据库连接配置 jdbc:mysql://address:port/database? ...

  5. java jdbc dbcp连接SQL Server

    使用到的jar: commons-collections-3.1.jar commons-dbcp-1.4.jar commons-pool-1.5.6.jar sqljdbc4.jar dbcp配置 ...

  6. java JDBC (八) 连接池 DBCP

    package cn.sasa.demo1; import javax.sql.DataSource; import org.apache.commons.dbcp2.BasicDataSource; ...

  7. Java -- JDBC mysql读写大数据,文本 和 二进制文件

    1. 往mysql中读写字符文本 public class Demo1 { /* 创建数据库 create database LOBTest; use LOBTest; create table te ...

  8. JDBC + MySQL 示例

    jdbc mysql connection 教程 翻译自:JDBC MySQL Connection Tutorial Java Database Connectivity (JDBC) 是一个基于J ...

  9. java中myeclipse连接mysql问题(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver)

    java中myeclipse连接mysql问题(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver) 1.往项目中添加mysql-conne ...

随机推荐

  1. FPGA笔记-阅读.dat文件

    阅读.dat图像文件 .dat文件是matlab生成的图像文件 initial begin // Initialize Inputs CLK = 0; RST = 1; IMAGE_DATA = 0; ...

  2. [CLR via C#]5.4 对象哈希码和dynamic基元类型

    原文:[CLR via C#]5.4 对象哈希码和dynamic基元类型 FCL的设计者认为,如果能将任何对象的任何实例放到一个哈希表集合中,会带来很多好处.为此,System.Object提供了虚方 ...

  3. Uva 409-Excuses, Excuses!(串)

    Judge Ito is having a problem with people subpoenaed for jury duty giving rather lame excuses in ord ...

  4. SSAS系列——【02】多维数据(维度对象)

    原文:SSAS系列——[02]多维数据(维度对象) 1.维度是什么? 数学中叫参数,物理学中是独立的时空坐标的数目.0维是一点,1维是线,2维是一个长和宽(或曲线)面积,3维是2维加上高度形成体积面. ...

  5. Redis MSET的极限在哪里

    ·背景 Redis以"快.准.狠"而著称,除了其主-从模式略失光彩(主从模式更多是被以讹传讹,3.0依旧在测试中),大部分的应用可谓尖兵利器.在一些常规写的时候,MSET和HMSE ...

  6. IS2009制作Oracle 静默安装包(一)感谢空白先生特许授权

    原文:IS2009制作Oracle 静默安装包(一)感谢空白先生特许授权 上一篇: MyEclipse中消除frame引起的“the file XXX can not be found.Please ...

  7. Appium Android Bootstrap源码分析之命令解析执行

    通过上一篇文章<Appium Android Bootstrap源码分析之控件AndroidElement>我们知道了Appium从pc端发送过来的命令如果是控件相关的话,最终目标控件在b ...

  8. Asp.net vNext 学习1

    Asp.net vNext 学习之路(一) 概述 asp.net vNext 也叫 asp.net 5.0,意思是微软推出的下一个版本的asp.net.可以说是微软对asp.net的一个比较重大的重新 ...

  9. C#获取本机所有用户名

    using System.DirectoryServices; using System.Runtime.InteropServices; (需要添加引用) [StructLayout(LayoutK ...

  10. Android高效的应用程序开发工具集1---ant构建一个简单的Android工程

    在java编译那些事通过提到ant编译Java工程,如今扩大到用它来构建Android目,事实上道理是相通的.变化的仅仅是使用的形式.ant构建相比IDE的优点是多个子项目使用自己定义jar包时,an ...