【IDEA+SSM+Maven实现商品管理系统(超详细SSM整合项目)】书到用时方恨少,事非经过不知难。这篇文章主要讲述IDEA+SSM+Maven实现商品管理系统(超详细SSM整合项目)相关的知识,希望能为你提供帮助。
IDEA+SSM+Maven实现商品管理系统(超详细SSM整合项目)
Hello,大家好,本周博主为大家带来一个SSM整合的一个小项目,该项目是一个阶段性的跨越,从servlet过渡到SSM,内容详细,包教包会~什么是SSM?
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。为什么要用SSM?
Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地??new?
?一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。 [1]
摘自百度百科
首先之前编写javaWeb项目是基于servlet实现,编写过于繁琐,创建对象过于频繁,使用SSM框架编写Web项目的优点
使用SSM框架后,spring控制service层,利用spring容器托管对象,
springmvc用于控制器Controller层,主要用于调用service层,转发或重定向页面
mybatis基于mapper接口和xml文件来实现对数据的CRUD操作
用的人多,用的企业多!!!
简化代码,统一风格,分工明确,大大提高了编写项目的效率,提高程序的可扩展性与可维护性,可复用项目简介
商品管理系统技术栈
用户注册,登录,添加了防跳墙功能,即未登录不可访问商品列表
商品的增删改查,多条件,分页(采用前4后3形式)
- 开发工具:IDEA
- Java环境:jdk1.8
- 服务器:Tomcat8.0
- 后端:JavaEE , Spring , SpringMVC, Mybatis
- 前端:bootstrap+jsp
- 日志输出:log4j
- 管理工具:Maven
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 用户id,
`username` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 用户名,
`password` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 用户密码,
PRIMARY KEY (`id`)
)
goods表
CREATE TABLE `goods` (
`order_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 商品id,
`buyer_name` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 买家姓名,
`buy_count` int(11) DEFAULT NULL COMMENT 购买商品的数量,
`buyer_phone` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 买家电话,
`goods_name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 商品名称,
`goods_price` decimal(6,2) DEFAULT NULL COMMENT 商品价格,
`sum_price` decimal(10,2) DEFAULT NULL COMMENT 总价,
`buyer_address` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 买家地址,
PRIMARY KEY (`order_id`)
)
效果图
文章图片
项目结构
文章图片
源代码结构
文章图片
配置文件结构
文章图片
前端结构
文章图片
依赖pom
< ?xml version="1.0" encoding="UTF-8"?>
< 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> org.example< /groupId>
< artifactId> SSM-GoodsManagerSystem< /artifactId>
< version> 1.0-SNAPSHOT< /version>
< !--依赖:junit.数据库驱动,连接池,servlet,jsp,mybatis,mybatis-spring,spring-->
< dependencies>
< !--Junit-->
< dependency>
< groupId> junit< /groupId>
< artifactId> junit< /artifactId>
< version> 4.12< /version>
< /dependency>
< !--数据库驱动-->
< dependency>
< groupId> mysql< /groupId>
< artifactId> mysql-connector-java< /artifactId>
< version> 5.1.47< /version>
< /dependency>
< !-- 数据库连接池: c3p0连接池 -->
< dependency>
< groupId> com.mchange< /groupId>
< artifactId> c3p0< /artifactId>
< version> 0.9.5.2< /version>
< /dependency>
< !--Servlet - JSP -->
< dependency>
< groupId> javax.servlet< /groupId>
< artifactId> servlet-api< /artifactId>
< version> 2.5< /version>
< /dependency>
< dependency>
< groupId> javax.servlet.jsp< /groupId>
< artifactId> jsp-api< /artifactId>
< version> 2.2< /version>
< /dependency>
< dependency>
< groupId> javax.servlet< /groupId>
< artifactId> jstl< /artifactId>
< version> 1.2< /version>
< /dependency>
< !--Mybatis-->
< dependency>
< groupId> org.mybatis< /groupId>
< artifactId推荐阅读
- 本地连接虚拟机中的Linux时经常自动断开,还不到一分钟就断开了,断开之后还很难连接上
- Linux 下的etc
- 电脑右键新建没有xmind文件选项解决方法
- html快速基础入门详解
- “结束进程”和“结束进程树”有啥区别啊()
- 某个虚拟机卡死时,单独关闭卡死虚拟机的方法
- VMWare虚拟机启动不了有个叉叉的解决办法
- python docker模块
- 最好的权限设计,是先区分功能权限和数据权限