此博客用于个人学习,来源于ssm框架的书籍,对知识点进行一个整理。
第一章 SSM 环境搭建与产品操作:
1. 环境准备:
1.1 数据库与数据表:
产品表 product:
序号 | 字段名称 | 字段类型 | 字段描述 |
---|---|---|---|
1 | id | varchar2(32) | 无意义,主键uuid |
2 | productNum | varchar2(50) | 产品编号,唯一,不为空 |
3 | productName | varchar2(50) | 产品名称(路线名称) |
4 | cityName | varchar2(50) | 出发城市 |
5 | DepartureTime | timestamp | 出发时间 |
6 | productPiece | number | 产品价格 |
7 | productDesc | varchar2(500) | 产品描述 |
8 | productStatus | int | 状态(0 关闭 1 开启) |
注意:
为何要使用 varcher2?
- varchar 对于汉字占两个字节,对于数字,英文字符是一个字节,占的内存小,varchar2 一般情况下把所有字符都占两字节处理。具体要看数据库使用的字符集,比如 GBK,汉字就会占两个字节,英文1个,如果是 UTF-8,汉字一般占3个字节,英文还是1个。
- varchar 对空串不处理,varchar2 将空串当做null来处理。
- varchar 存放固定长度的字符串,最大长度是2000,varchar2 是存放可变长度的字符串,最大长度是4000。
创建表sql:
CREATE TABLE product(
id varchar2(32) default SYS_GUID() PRIMARY KEY,
productNum VARCHAR2(50) NOT NULL,
productName VARCHAR2(50),
cityName VARCHAR2(50),
DepartureTime timestamp,
productPrice Number,
productDesc VARCHAR2(500),
productStatus INT,
CONSTRAINT product UNIQUE (id, productNum)
)
insert into PRODUCT (id, productnum, productname, cityname, departuretime, productprice, productdesc, productstatus)
values ('676C5BD1D35E429A8C2E114939C5685A', 'itcast-002', '北京三日游', '北京', to_timestamp('10- 10-2018 10:10:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff'), 1200, '不错的旅行', 1);
insert into PRODUCT (id, productnum, productname, cityname, departuretime, productprice, productdesc, productstatus)
values ('12B7ABF2A4C544568B0A7C69F36BF8B7', 'itcast-003', '上海五日游', '上海', to_timestamp('25- 04-2018 14:30:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff'), 1800, '魔都我来了', 0);
insert into PRODUCT (id, productnum, productname, cityname, departuretime, productprice, productdesc, productstatus)
values ('9F71F01CB448476DAFB309AA6DF9497F', 'itcast-001', '北京三日游', '北京', to_timestamp('10- 10-2018 10:10:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff'), 1200, '不错的旅行', 1);
1.2 maven工程搭建:
父工程名称为:itcast-ssm,创建子模块:itcast-ssm-web,itcast-ssm-domain,itcast-ssm-service,itcast-ssm-dao,itcast-ssm-utils。其中创建 itcast-ssm-web 时注意我们选择一个web工程。
pom.xml:
<properties>
<spring.version>5.0.2.RELEASE</spring.version>
<slf4j.version>1.6.6</slf4j.version>
<log4j.version>1.2.12</log4j.version>
<oracle.version>11.2.0.1.0</oracle.version>
<mybatis.version>3.4.5</mybatis.version>
<spring.security.version>5.0.1.RELEASE</spring.security.version>
</properties>
<dependencies>
<!-- spring -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId<