SSM项目开发
最经在公司没啥项目,无聊,故写写博客打发时间
现在公司项目很多架构都在用SSM
在公司做项目有2种类型
外包-(别人产品)
自己不需要整太多需求,功能
研发项目(自己产品)(赚钱)
我们自己做个项目需求
培训教育-【小孩兴趣,IT培训,成人教育】
OA系统,办公
一期
功能:
用户表 : t_user
外键 : emp_id
名称 | 字段 |
---|---|
用户表 | t_user |
外键 | emp_id |
id | int |
username | string |
password | string |
emp_id | int |
员工模块:
名称 | 字段 |
---|---|
id | int |
Chinesename【中文】 | string |
englishname | string |
入职 | 日期 |
工资 | |
员工级别 | |
部门ID |
部门模块 t_employee
名称 | 字段 |
---|---|
id | uuid |
Name 部门名字 | string |
Depno 部门编号 | string |
createTime 部门创建日期 | date |
Pid 上级部门 | 外键 |
工资模块
名称 | 字段 |
---|---|
id | uuid |
totalSalary 总工资 | |
社保 | |
公积 | |
税 | |
基本工资 | |
奖金 | |
补贴 | |
罚款 | |
实发工资 | |
Emp_id 员工 | |
salary_date 工资日期 |
学员提成功能【公司,个人】
课程模块
名称 | 字段 |
---|---|
id | |
课程名称 | |
课时 | |
课程费用 | |
预计开课时间 | |
预计结束时间 | |
createTime 创建时间 | |
上课地点 | |
授课老师 |
学生模块
名称 | 字段 |
---|---|
id | int |
Chinesename【中文】 | string |
englishname | string |
身份证 | |
性别 | |
手机号码 | |
现在居住地址 | |
户籍 | |
第二联系人的电话 | |
第二联系人的名字 | |
学历 | |
username | |
password | |
积分 |
学生报名课程模块
Sid 【student】 | C_id 【course】 | 推荐id | 提成金额 | 结算状态 |
---|---|---|---|---|
0:未结算 1:已结算 |
客户表
合作公司
个人合作
名称 | 字段 |
---|---|
id | |
name | |
type | 1:公司 2:个人 |
companyName | |
companyAddress | |
营业执照相片 | |
companyLawer 公司法人 | |
汇款银行 | |
汇款帐号 | |
联系电话 |
提成结算
名称 | 字段 |
---|---|
id | uuid |
客户 | id |
结算总金额 | |
结算月份 | |
汇款状态 | |
预计到帐时间 | |
是否开发票 | |
税 | |
发票收件地址 |
二期-线上课程
课程视频
名称 | 字段 |
---|---|
id | |
标题 | |
老师 | |
介绍 | |
Price 价格 | |
折扣 | |
封面图片 |
购买定单[t_order]
名称 | |
---|---|
id | uuid |
课程视频的ID | 外键 |
创建时间 | |
Paystate:付款状态 | 0:未付款 1:付款 2:过期 |
Amount:付款金额 | 【打折,价格】 |
Student_id | 外键 |
收货人信息 | |
收货人电话 |
积分制
用于兑换礼品
1块钱一个积分,100块,100积分
购买视频100块1个积分
免费视频:看1个视频1个积分
每天签到1个积分
写sql,把表创建好
搭建eclipse - MAVEN - SSM
项目结构:聚合项目
edu-manager - 公司员工
edu-student - 学生员工
edu-customer - 客户员工
edu-api
聚合:
聚合一般是一个工程拆分成多个模块开发,每个模块是一个独立的工程,但是要是运行时必须把所有模块聚合到一起才是一个完整的工程,此时可以使用maven的聚合工程。
例如电商项目中,包括商品模块、订单模块、用户模块等。就可以对不同的模块单独创建工程,最终在打包时,将不同的模块聚合到一起。
例如同一个项目中的表现层、业务层、持久层,也可以分层创建不同的工程,最后打包运行时,再聚合到一起。
关于聚合项目和父项目的概念有兴趣的可以去看《MAVEN实战这本书籍》
项目构造:
Jdk1.8
Tomcat8.5
Mysql5.5
SSM
Spring 4.x 版本
MyBatis 3.x 版本
更改eclipse-Maven的用户配置文件
1.创建父项目
file->new->maven project
2.创建model子工程
dao层:
右鍵->new->maven project
注意:现在用mybatis逆向工程生成的mapper层,其实就是dao层。对数据库进行数据持久化操作,它的方法语句是直接针对数据库操作的,因此packaging方式为jar即可。
(多说一句,数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中。)
model层
右鍵->new->maven project
注意:model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致,因此model层packaging方式为jar即可。
service层
存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法,因此service层packaging方式为jar即可。
manager层
也就是manager后台管理,它相当于我们的controller层,它导入service层,因为service中的方法是我们使用到的。它通过接收前端传过来的参数进行业务操作,再返回一个指定的路径或者数据表,因此该层packaging方式为war即可。
api层
此处是api模块化现暂且不管它,我们就建一个模块放那儿,当然,他的packageing方式也为war的方式。
好了,现在我们的项目的目录结构已经建好了
再看看我们的pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yuxiu.edu</groupId>
<artifactId>common-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>edu-api</module>
<module>edu-dao</module>
<module>edu-manager</module>
<module>edu-model</module>
<module>edu-service</module>
</modules>
</project>
可以看到,我们的父项目里面有api,dao,service,model,manager模块,说明我们的项目的结构是没问题的。
接下来
MAVEN - SSM项目开发(二)(手把手教你学会)环境搭建和功能代码实现