基于SSM框架搭建的项目,带你剖析MVC结构

这是小的Demo是我部署用来教大家学MVC小例子的,搭建完成SSM框架,非常简单,使用了Spring/Spring MVC/MyBatis框架,数据库使用了MySQL;本例子可以帮助你理解MVC框架,Spring的知识点;也可以帮助你从头串一串,一个中小型的项目是怎么出来的。麻雀虽小,但是五脏俱全。

接下来的文章,有点长,图片有点多,不建议使用手机浏览,建议通过电脑打开。项目代码在GitHub;Link:https://github.com/2tree/Demo20180617

这个项目我是从17号晚上开始设计并部署,自然是没有完善,我想一步一步跟大家从头书写。如果有不晓得的,请点击右下角菜单,加小编,可以发疑问,我会收集集中的疑问答疑。

你通过这个项目可以了解并学到的知识: 1、了解IntelliJ IDEA搭建SSM框架项目。 2、了解使用Maven。 3、了解并使用通过逆向工程初始化项目。 4、了解Spring、Spring MVC、MyBatis框架的知识。 5、了解MySQL基础语句的书写。 6、了解粉丝表的简单设计。 7、了解多表联合查询。

01

设计功能与创建数据库

1、设计功能

①登录与注册

②关注与被关注

③评论

④点赞

⑤发布动态

2、设计数据库表字典

根据功能设计

表结构:在database/文件夹下的TableDictionary.md中。

3、创建数据库,表

02

部署初始化项目(SSM项目搭建)

1、打开IDEA创建项目:

2、勾选上方的Create from archetype,然后选择Maven项目并选择我标识出来的选项,点击选择Next。

3、选择并填写GroupId, ArtifactId,根据自己的需求写。

4、这一步不需要填写,保证前边步骤正确直接下一步即可。

5、填写项目路径

6、Maven项目初始化,这个过程可能有点长,请耐心等待。

7、这是啥都没有的初始化项目结构。

.idea/文件夹是JB系IDE生成的配置文件,和Eclipse是一样的。源码文件是src/文件夹。初始化的main/文件夹下只有webapp/文件夹,没有java/文件夹,这需要我们手动创建并配置。

8、创建源码文件夹

此时目录是这样子。

如上图所示,打开Project Structure。不同操作系统的IDEA找到Structure不一样,请耐心寻找。

点击左侧的Modules,右侧一栏按照图示找到。

第一步,选中java文件夹,第二步点击上方Sources按钮,此时java文件夹会变成蓝色,点击OK,保存选项。

9、相同方法创建resouces文件夹放置配置文件。

最后结果如图所示。

10、配置Tomcat运行

点击+,添加本地或者远程Tomcat容器

修复.war文件

正在运行中界面

运行成功界面

.

03

测试连接数据库

以上两步骤,完成了数据库的创建和项目搭建的初始化,现在配置SSM项目

这里连接数据库,先创建并配置好spring-mvc/spring-mybatis的配置文件,使用MyBatis的逆向工程插件,完成项目与数据库的连接测试。

我们现在pom.xml中添加各种依赖。

继续添加,这里不一个一个放出来了,

后续文章会有专题讲解SSM项目里面的web.xml/pom.xml/spring-mvc.xml/spring-mybatis.xml配置文件中元素的意义。

pom.xml是maven项目用来同步maven远程仓库依赖的配置文件。

当添加新的依赖的时候,我们可以点击右下角的import changes来同步远程仓库。

添加完成各项依赖,配置文件完成之后,点击插件运行,会成功POJO类和DAO层接口,以及映射文件。

04

至此,SSM项目搭建成功,接下来的步骤,根据需求,继续书写代码。后续请关注GitHub。

原文发布于微信公众号 - 数据库SQL(SQLdba)

原文发表时间:2018-06-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Moodle

Moodle是一个流行的,开源的基于Web的学习管理系统(LMS),任何人都可以免费安装和使用。通过Moodle,您可以为学习者群体创建和提供课程,阅读和讨论板...

2820
来自专栏小勇DW3

线上测试环境搭建过程记录

3.安装完以后  会在 /usr/java/latest 下有对应的 jdk 版本

1791
来自专栏云计算教程系列

如何在Ubuntu上安装SELinux

Ubuntu有一个类似于SELinux的强制访问控制系统,名为AppArmor。SELinux(Security-Enhanced Linux) 是美国国家安全...

4291
来自专栏不想当开发的产品不是好测试

mysql-proxy 简介

# 背景 今天同事分享的主题就是mysql-proxy,于是下来自己了解下,不求精通,只求知道这个玩意 # 简介 mysql-proxy是mysql官方提供的m...

3835
来自专栏我的博客

Collectd介绍

collectd是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。它会在系统运行和存储信息时周期性的统计系统的相关统计信息。...

3506
来自专栏网商云

小白教程--centos7修改ssh远程端口

新账号关联我们公司购买腾讯云产品,有优惠哦!联系电话:13430587834(微信同号)

5424
来自专栏安恒信息

安全漏洞公告

1 Linux Kernel 'linux-image-3.2.0-4-5kc-malta'软件包拒绝服务漏洞Linux Kernel 'linux-image...

3147
来自专栏GAN&CV

Ubuntu16.04安装opencv2&&ImportError: No module named cv2.cv

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/d...

3663
来自专栏沃趣科技

ASM 翻译系列第三弹:基础知识 About ASM disk groups, disks and files

原作者:Bane Radulovic 译者: 赵恩东 审核: 魏兴华 DBGeeK社群联合出品 Oracle ASM使用磁盘组来存放数据文件,每一个...

3928
来自专栏python3

diango使用数据库

之前写的页面,虽然和用户交互得很好,但并没有保存任何数据,页面一旦关闭,或服务器重启,一切都将回到原始状态。

1123

扫码关注云+社区

领取腾讯云代金券