当前位置: 代码迷 >> 综合 >> 三周学会小程序第八讲:Heroku 集成免费的 MySQL
  详细解决方案

三周学会小程序第八讲:Heroku 集成免费的 MySQL

热度:62   发布时间:2023-10-30 09:46:39.0

上一讲我们说到使用 H2 存储数据,那么如果我们部署到 Heroku 是否也有免费的数据库用?答案是对的。Heroku 的免费服务和数据库。极客冲顶 和 Commenthub。下面让我们把上一讲的数据脚本自动执行到 Heroku,体验一下 Migration 的便捷性。

配置 Heroku

因为 Heroku 是 Paas 服务,它集成了很多可以插拔的组件,所以 MySQL 也是这样一个组件,我们需要添加一个 MySQL 然后才能使用。

640?wx_fmt=png

首先我们看一下费用,Heroku 提供的免费的 MySQL,支持 5M 的存储,10个 Connections,很小,但是对于我们测试已经足够了。

我们还是先通过浏览器进入 Heroku 的控制面板

640?wx_fmt=png点击 Configure Add-ons,这个时候会提示如下内容,意思是在添加组件之前,你需要关联一个信用卡,不然不能添加。当然这个关联并不会扣费。直接点击图片上面的 Verify Now即可添加信用卡。

640?wx_fmt=png

接下来继续点击刚才的添加按钮,进入如下页面。

640?wx_fmt=png

在搜索框里面输入 MySQL,选择 ClearDB。弹出输入框选择确定即可,这样就为 Heroku 添加了 MySQL。

640?wx_fmt=png

接下来我们需要对程序改造。

修改程序

就我们所知,application.yml 区分为 production 和 dev,我们这个时候直接修改 application-product.yml 就可以了。添加如下内容:

db:	url: ${JDBC_DATABASE_URL}&useUnicode=true&characterEncoding=UTF-8	username: ${JDBC_DATABASE_USERNAME}	password: ${JDBC_DATABASE_PASSWORD}	driver: com.mysql.jdbc.Driver

当 Heroku 添加 MySQL 成功以后,会自动创建上面这些环境变量,所以我们直接使用即可。

<!--C3P0-->	
<dependency>	<groupId>c3p0</groupId>	<artifactId>c3p0</artifactId>	<version>0.9.1.2</version>	
</dependency>

接下来直接修改 applicationContext.xml 就可以了,其他不需要修改。

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"	destroy-method="close">	<property name="driverClass" value="${db.driver}"/>	<property name="jdbcUrl" value="${db.url}"/>	<property name="user" value="${db.username}"/>	<property name="password" value="${db.password}"/>	<property name="maxPoolSize" value="5"/>	<property name="minPoolSize" value="1"/>	<property name="maxStatements" value="20"/>	
</bean>

那你也来试试吧。

源码

服务端源码地址,Tag V8

  相关解决方案