日期:2014-05-18  浏览次数:20695 次

动态生成hibernate密码
现在我在迁移一个项目到BAE的云平台上
hibernate的MySQL密码是直接写入xml的配置文件的。

但是根据BAE的开发者手册显示,BAE的数据库连接密码是动态生成的,要通过一下方式才能获取到相关的用户名和密码的。

String host = request.getHeader("BAE_ENV_ADDR_SQL_IP");
String port = request.getHeader("BAE_ENV_ADDR_SQL_PORT");
String username = request.getHeader("BAE_ENV_AK");
String password = request.getHeader("BAE_ENV_SK");

每次获取到的信息都可能不一样的。
在hibernate中,如何操作,才能实现我这样动态获取密码的办法么?
------解决方案--------------------
你可以把数据源的配置放在java的属性文件里面去!!!
然后、直接用java代码操作属性文件!


------解决方案--------------------
难道要用到dom4j?所噶
------解决方案--------------------

    推荐使用hibernate3,您在使用hibernate时需要注意数据库连接的配置。以下是示例:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://sqld.duapp.com:4050/dbname
jdbc.username=ak
jdbc.password=sk

    数据库的地址是sqld.duapp.com,端口是4050,dbname是在平台上云数据库-》我的数据库中创建的数据库名称,用户名密码即在BAE平台中的ak、sk。ak、sk可在平台中的 服务管理-》我的密钥中查看到。
------解决方案--------------------
引用:
    推荐使用hibernate3,您在使用hibernate时需要注意数据库连接的配置。以下是示例:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://sqld.duapp.com:4050/dbname
jdbc.username=ak
jdbc.password=sk

    数据库的地址是sqld.duapp.com,端口是4050,dbname是在平台上云数据库-》我的数据库中创建的数据库名称,用户名密码即在BAE平台中的ak、sk。ak、sk可在平台中的 服务管理-》我的密钥中查看到。

bae支持数据库连接池吗?
------解决方案--------------------
bae数据库地址、用户名、密码不是动态生成的,是固定的。你可以尝试打印出那几个数据,看看每次是不是一样。