本来用得好好的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. vim插件管理器vundle

    安装:  git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle set nocompatible " be i ...

  2. [Unity3D]Unity3D游戏开发之Unity与Android交互调用研究

    各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.在前一篇文章中,我们研究了Android平台上Unity3D的手势操作并在之前的基础 ...

  3. JavaScript实现简单日历

    页面代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  4. jQuery基础---Ajax进阶

    原文:jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一 ...

  5. Android自动化测试框架新书:交流

    大家觉得编写一本描述MonkeyRunner原理分析的书籍如何?估计大概10万字左右.内容大概分布如下: Monkey实现原理: 去描述运行在目标安卓机器的monkey是如何运行并处理MonkeyRu ...

  6. 从一道数学题弹程序员的思维:数学题,求证:(a+b%c)%c=(a+b)%c

    在学校论坛看到这道题目,全忘了的感觉. 如果你是高中的,那我觉得你完全没问题.但是,在这个博客园的圈子,觉得全部人都是程(ban)序(zhuan)员(gong)相关的人员,解决这个问题有点难度,毕竟, ...

  7. leetcode第一题--two sum

    Problem:Given an array of integers, find two numbers such that they add up to a specific target numb ...

  8. 鼠标hover事件

    JS: // ========== // = 鼠标hover事件 = // ========== function showHide (btn,box) { $(btn).hover(function ...

  9. mysql的事物

    所谓的事物就是一组原子性的SQL语句,或者说是一个独立的工作单元. 1.事物拥有四大特征: ①原子性(atomicity):一个事物必须被分为一个不可分割的的最小单元,整个事物中的所有操作要么全部提交 ...

  10. HubbleDotNet全文搜索数据库组件(二)

    [摘要]本文介绍如何使用HubbleDotNet实现基本的全文搜索,包括建立搜索数据库.数据表.建立索引,压缩索引和搜索示例等内容. 上文介绍了HubbleDotNet的安装,接下来介绍如何使用Hub ...