一、设计流程
1.1 框架
- 商品上架,如果商品在仓库中存在,那么我们直接库存+1,如果商品不存在那么直接执行添加的功能
- 上架时间需要获取上架时, 系统的时 间
- 分页
- 分页功能:分页单位(几条数据为一-页)、起始索引位置、页面值(上一页、下一页、尾页、首页)、当前页。
、区间模糊查询、编辑、批量删除、登录注册
二、具体实施
2.1 项目搭建
2.1.1 数据库建表



如上建表,分别是表1、2、3.商品品牌表、类别表、商品表。
2.2.2 开发框架搭建
首先建立工程时一定要注意,meavn工程需要修改默认的meavn_work库,否则一次进行过多的资源定位,会导致资源定位导入的jar包丢失,需要重新下载导入。
- 添加webapplication。
- 导入坐标;代码段一。
-
4. 建立包结构

生成每个实体类对应的接口,为每个接口配置xml配置文件,添加依赖并指定全类名。
2.2.3 ssm框架的配置文件
在核心配置文件web.xml中进行配置:代码附录二
配置前端总控制器dispatcherServlet
dispatcherServlet org.springframework.web.servlet.DispatcherServlet 绑定springmvc的核心配置文件
<param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value>
设置启动级别
1 拦截所有的客户端请求
<servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern>
绑定spring的核心配置文件
<param-name>contextConfigLocation</param-name><param-value>classpath:beans.xml</param-value>
配置一个监听器
org.springframework.web.context.ContextLoaderListener 注册一个编码过滤器
characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 拦截客户端所有的资源(包括静态资源)
<filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern>

beans.xml文件配置;
开启扫描包
读取配置文件获取数据源信息
配置数据源对象
- 配置mybatis需要的工厂对象
- 配置mybatis的扫描器
pring会扫描持久层所有的接口,mybatis会创建接口对应的代理对象(接口实现类),将实现类的实例转载进spring核心容器中
2.2 功能开发
首先可以简单的做个测试,测试架子是否能正常调通。
2.2.1 界面数据展示
首先,新建jsp文件夹,编写goods_list. jsp,编写对应的xml文件
2.2.3 分页展示信息模块
分页逻辑:主要写在Controller层,注意写一个获取当前信息条数的方法。使用sql去查记录。
主要分页:
- 起始页()、
- 上一页(判断当前是否为第一页,否则页数加一)、
- 下一页(判断是否为尾页),
- 尾页()
- 分页起始索引位置:(当前页-1)×分页单位
写查询:
- 将其实索引位置、分页单位分别以map键值对的形式存入map集合并传递给持久层。注意使用方法。
- 写分页sql需要用到其实索引位置和分页单位。
写好sql
页码值存在作用域中;
2.2.4 数据的回显、数据修改更新
主要使用的是ajax完成数据的回显,
附录
代码段一:导入坐标
<!--导入坐标--><dependencies><!--扫入spring相关依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-oxm</artifactId><version>5.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.1.RELEASE</version></dependency><!-- <dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency>--><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.2.1.RELEASE</version></dependency><!-- mybatis核心包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><!-- mybatis/spring包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.2</version></dependency><!-- 导入java ee jar 包 --><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId><version>7.0</version></dependency><!-- 导入Mysql数据库链接jar包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.22</version></dependency><!--日志--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!--连接池--><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.2.2</version></dependency><!--连接池--><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.5</version></dependency><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><!--支持mvc给前端返回json数据--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.5</version></dependency></dependencies>
代码段一:导入坐标
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!--拦截所有客户请求,不包括静态资源--><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--绑定spring核心配置文件--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:beans.xml</param-value></context-param><!--配置监听器--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--注册一个编码过滤器--><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><!--拦截所有资源,包括所有资源--><url-pattern>/*</url-pattern></filter-mapping></web-app>
