SSM框架(spring + springmvc + mybatis)相信小伙伴们都已经比较熟悉了,但随着科技的发展,企业对运营成本、开发部署周期、数据安全性可用性的要求不断提高,很多应用已经选择发布到云平台,数据库采用云端的数据库,本文就和大家一起熟悉一下SSM框架 + 云数据 ClearDB 的应用实践及部署过程。
对学习者的基本要求
对以下内容的了解有助于您更好的理解本文的内容:
一个 Bluemix 帐户,您还没有? 点击这里注册,已经有,点击这里登录;
对spring、 springmvc、 mybatis基本了解;
对MySQL数据库及管理工具的基本了解;
对SQL语言的基本了解;
我提供了所有必要代码,可以到Github下载:https://github.com/ivu4e/ssmcleardb
创建 Java 应用程序
本来打算创建一个".yml"应用程序清单文件来创建一个云应用程序,但是发现只有和应用程序连接后,才能拿到数据库的访问凭证,所以我们先创建一个Java应用程序。
1、登录您的Bluemix帐户,打开目录页面;
2、可以通过左侧的类别快速定位,找到Liberty for Java™,点击它;
3、输入一个应用程序名称,点击创建按钮;
创建 ClearDB 数据服务
1、同样是打开目录页面;
2、可以通过左侧的类别快速定位,找到ClearDB Managed MySQL Database,点击它;
3、输入服务名称,或者可以保持默认的;
4、在左侧连接到下拉列表中选择我们刚刚创建的Java应用程序;
5、点击创建按钮;
ClearDB 数据库管理
应用程序和数据库服务已经创建完成了,并且我们选择将数据库服务连接到Java应用程序,这时我们可以打开Java应用程序的详细信息页面,获取数据库访问凭据;
1、点击左上角的菜单,选择仪表板,进入仪表板页面;
2、找到刚刚创建的应用程序,点击空白处;
3、点击左侧的“连接”,然后点击右侧的查看凭证;
4、复制凭证到一个文本文件中,方便使用;
5、使用Navicat for mysql 连接到ClearDB;
主机名或IP地址对应凭证中的:hostname;
6、新建查询,初始化数据表;
执行的SQL语句如下:
[sql] view plain copy
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`NAME` varchar(30) NOT NULL COMMENT '用户名',
`PASSWORD` varchar(32) NOT NULL COMMENT '用户密码',
`MOBILE` varchar(20) NOT NULL COMMENT '手机号码',
`EMAIL` varchar(50) NOT NULL COMMENT '电子邮件',
`STATUS` tinyint(4) NOT NULL DEFAULT '0' COMMENT '用户状态,默认为0,不可用,1为可用\r\n 0: 表示新建\r\n1:表示激活\r\n2:表示禁用\r\n3:表示删除\r\n',
`TRUE_NAME` varchar(50) DEFAULT NULL COMMENT '真实姓名',
`USER_CODE` varchar(50) DEFAULT NULL COMMENT '用户编码',
`PHOTO` varchar(100) DEFAULT NULL COMMENT '头像相对路径',
`CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
`UPDATE_TIME` datetime DEFAULT NULL COMMENT '最后修改时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of `user`
-- ----------------------------
BEGIN;
INSERT INTO `user` VALUES ('1', 'admin', 'admin', '', '', '1', null, null, null, null, null);
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;
SSM框架应用
1、修改jdbc.properties 文件,修改数据库链接凭证;
[plain] view plain copy
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://us-cdbr-sl-dfw-01.cleardb.net/ibmx_ea6d0796680534e?user=b8370b2ea2c12b&password=08ab4a57af
username=b8370ba2ea2c12b
password=08b457af
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
#&character_set_server=utf8mb4&
jdbc链接字符串刚刚获取的凭证中已经给出;2、本地运行服务测试;
访问:http://localhost:8080/ssmcleardb/webapi/user/findList.do 以看到下面的输出:
3、项目文件结构;
让你的应用在云上运行
1、打包应用程序,执行maven clear,maven install;
2、在项目的根目录创建应用程序清单文件;
内容如下:
[plain] view plain copy
applications:
- path: target/ssmcleardb.war
memory: 512M
instances: 1
domain: mychinabluemix.net
name: ssmcleardb
host: ssmcleardb
disk_quota: 1024M
path: target/ssmcleardb.war 就是应用程序打包后输出的路径名称;
name 就是应用程序的名称;
host 是一个二级域名的前缀,发布成功之后我们可以通过它来访问自己的应用;
具体细节请参考我的其它文章,如:Java中REST API使用示例——基于云平台+云服务打造自己的在线翻译工具
也可以参考文末给出的相关视频:一个简单应用程序的上云过程
4、发布应用程序
5、发布成功,访问测试:
我这里是将应用程序发布到了bluemix 中国版上。
到这里可以看出,我没有使用刚刚在Bluemix上创建的Java应用程序名称,而是通过创建一个应用程序清单文件来创建了一个应用程序。
不要试图访问我发布的,做点小动作,
我提供了所有必要代码,可以到Github下载:https://github.com/ivu4e/ssmcleardb
结束语
关于ClearDB的中文资料比较少,有小伙伴问ClearDB和MySQL的区别,通常我们理解mysql为数据库软件,而cleardb我们应该理解为数据库服务,我们可以像操作MySQL一样操作它。之前的文章都是在Bluemix创建一个应用,然后下载应用示例代码到本地进行修改和扩展,而本次我们先在本地创建项目或直接从GitHub上下载项目代码,然后通过创建一个".yml"应用程序清单文件来创建一个云应用程序,并将项目发布到云平台上。
你有没有跟随本文去手试一试呢?
有什么问题欢迎给我留言!
技术水平有限,欢迎各位大牛指教!
相关学习资源
Bluemix 中国版 云服务登录: https://console.chinabluemix.net/
Bluemix 国际版 云服务登录: https://console.ng.bluemix.net/
相关视频
云服务助力Java 应用程序开发及部署 http://edu.youkuaiyun.com/course/detail/5006
一个简单应用程序的上云过程 http://edu.youkuaiyun.com/course/detail/4857
基于云应用的公众号后台程序开发 http://edu.youkuaiyun.com/course/detail/5006