SSM框架整合
来源:https://mp.weixin.qq.com/s/SDxqGu_il3MUCTcN1EYrng
环境
- IDEA 2020.2.3
- MySQL 8.0.23
- Tomcat 9.0.44
- Maven 3.6.3
创建数据库表
- 使用SQLyog ultimate
- 单步执行
CREATE DATABASE `ssmbuild`;
USE `ssmbuild`;
DROP TABLE IF EXISTS `books`;
CREATE TABLE `books` (
`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',
`bookName` VARCHAR(100) NOT NULL COMMENT '书名',
`bookCounts` INT(11) NOT NULL COMMENT '数量',
`detail` VARCHAR(200) NOT NULL COMMENT '描述',
KEY `bookID` (`bookID`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
INSERT INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES
(1,'Java',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');
Maven项目搭建
框架搭建
1、新建maven项目ssmbuild,添加web支持
2、pom.xml导入依赖
junit
junit
4.12
mysql
mysql-connector-java
8.0.23
com.mchange
c3p0
0.9.5.2
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.2
javax.servlet
jstl
1.2
org.mybatis
mybatis
3.5.7
org.mybatis
mybatis-spring
2.0.6
org.springframework
spring-webmvc
5.2.4.RELEASE
org.springframework
spring-jdbc
5.1.9.RELEASE
org.projectlombok
lombok
1.18.20
3、Maven资源过滤设置
src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false
4、建立基本结构和配置框架
-
com.txy.pojo
-
com.txy.dao
-
com.txy.service
-
com.txy.controller
-
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> -
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
配置Mybatis层
1、数据库配置文件 database.properties
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8&&serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=password
2、IDEA关联数据库
3、编写MyBatis的核心配置文件
- typeAliases通过package的name属性直接指定包名,mybatis会自动扫描指定包下的javabean,并设置一个别名,默认名称为javabean的非限定类名。
<?xml version="1.0" encoding="UTF-8" ?>
4、编写数据库对应的实体类 com.txy.pojo.Books
- IDEA2020需要增加lombok插件使得生效
package com.txy.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {
private int bookID;
private String bookName;
private int bookCounts;
private String detail;
}
5、编写Dao层的 Mapper接口
package com.txy.dao;
import com.txy.pojo.Books;
import java.util.List;
public interface BookMapper {
//增加一个Book
int addBook(Books book);
//根据id删除一个Book
int deleteBookById(int id);
//更新Book
int updateBook(Books books);
//根据id查询,返回一个Book
Books queryBookById(int id);
//查询全部Book,返回list集合
List queryAllBook();
}
6、编写接口对应的 Mapper.xml 文件
<?xml version="1.0" encoding="UTF-8" ?>
insert into ssmbuild.books(bookName, bookCounts, detail)
values (#{bookName},#{bookCounts},#{detail})
delete from ssmbuild.books where bookID = #{bookID}
update ssmbuild.books
set bookName = #{bookName},bookCounts=#{bookCounts},detail=#{detail}
where bookID = #{bookID}
7、编写Service层的接口和实现类
-
接口
package com.txy.service; import com.txy.pojo.Books; import java.util.List; public interface BookService { //增加一个Book int addBook(Books book); //根据id删除一个Book int deleteBookById(int id); //更新Book int updateBook(Books books); //根据id查询,返回一个Book Books queryBookById(int id); //查询全部Book,返回list集合 ListqueryAllBook(); } -
实现类
package com.txy.service; import com.txy.dao.BookMapper; import com.txy.pojo.Books; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class BookServiceImpl implements BookService{ //调用dao层的操作,设置一个set接口,方便Spring管理 @Autowired private BookMapper bookMapper; public void setBookMapper(BookMapper bookMapper) { this.bookMapper = bookMapper; } @Override public int addBook(Books book) { return bookMapper.addBook(book); } @Override public int deleteBookById(int id) { return bookMapper.deleteBookById(id); } @Override public int updateBook(Books books) { return bookMapper.updateBook(books); } @Override public Books queryBookById(int id) { return bookMapper.queryBookById(id); } @Override public ListqueryAllBook() { return bookMapper.queryAllBook(); } }
配置Spring层
1、整合MyBatis,数据源使用c3p0连接池
2、编写Spring整合Mybatis的相关的配置文件;spring-dao.xml
<?xml version="1.0" encoding="UTF-8"?>
3、Spring整合service层
<?xml version="1.0" encoding="UTF-8"?>
配置SpringMVC
1、web.xml
<?xml version="1.0" encoding="UTF-8"?>
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext.xml
1
springmvc
/
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
/*
15
2、spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
3、Spring配置整合文件,applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
编写controller,jsp页面
https://mp.weixin.qq.com/s/SDxqGu_il3MUCTcN1EYrng