本文将介绍使用ssm框架从登陆到实现页面简单的增删改查。在文末将源代码一并奉上
搭建说明:使用xml+注解方式搭建
具体思路:先将Spring与mybatis整合,最后在与SpringMVC进行整合即可
一,目录结构:
1:开发环境
- jdk1.8
- maven
2:开发工具
- idea
- mysql8.0.19
- tomcat9.0
3:需要的知识点
- Spring+SpringMVC+Mybatis
- jsp+html+css
- EL表达式
- servlet
- mysql
废话不多说,先把数据表给出
drop database if exists ssm;
create database ssm;
use ssm;
create table user(
id int primary key auto_increment not null,
username varchar(20) not null,
password varchar(20) not null
)engine =innodb charset=UTF8;
create table goods(
id int primary key auto_increment,
name varchar(20)not null ,
price double not null ,
quantity int not null,
update_time Date not null
)engine =innodb charset=UTF8;
insert into user (username, password)
values ('admin','123456');
insert into goods(name, price, quantity, update_time)
values ('iphone',5000,100,'2020-03-26');
二,创建idea的目录结构
1.1点击箭头所指创建一个项目
1.2选中maven点击next
1.3.点击next后父Moudle创建完成
1.4,点击自动导入
1.5由于不需要父Module的src故删除
1.6删除后右键父Module创建新的子Module
1.7而后操作和1.2一样点击next后进入图片界面再次next就行
1.8创建成功的样子
1.9再次右键父Module新建一个名为ssm_web的子Module,但是这次需要选择maven模板的webapp,而后点next
2.0这里之所以加archetypeCatalog是因为我在创建web项目的时候很慢具体可参考一下链接解决mavenwebapp创建慢
2.1创建完后在src目录下缺少了java和resources目录
2.2然后分别选中Java和resources
2.3选中ssm_webModule下的pom.xml。 删除部分使pom.xml如图所示
2.4在ssm_service Module中src/main/java下分别创建名为图示包名
2.5在在ssm_service Module中src/main/resources下创建spring.xml
三,完善ssm_service
1.1在ssm_service中的pom.xml依赖spring与mybatis所需要的包,如果是第一次使用maven依赖包可能下载比较慢
解决maven依赖慢的方法
<?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">
<parent>
<artifactId>SSM</artifactId>
<groupId>com.ray</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ssm_service</artifactId>
<!-- 打包为jar包以便在ssm_web的pom文件下引入该包-->
<packaging>jar</packaging>
<dependencies>
<!-- mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
<!-- 引入spring相关包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!-- aop相关包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.1</version>
</dependency>
<!-- 事务处理-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!-- 由于整合spring与mybatis当然要引入整合包啦!!!!!-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
</project>
1.2将包依赖完成后将对spring.xml进行配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 开启自动扫描-->
<context:component-scan base-package="com.ray.ssm"/>
<!-- 配置数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 由于我使用的是mysql8 因此驱动需要加上cj,-->
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<!-- 同样mysql8还需要对时区进行处理-->
<property name="url"
value="jdbc:mysql://localhost:3306/ssm?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8"/>
<!-- 数据库账户名-->
<property name="username" value="root"/>
<!-- 数据库密码-->
<property name="password" value="AaAa123456"/>
</bean>
<!-- sqlSession对象-->
<bean id="sqlSession"