# BulidSSMStudy **Repository Path**: jqw_com/BulidSSMStudy ## Basic Information - **Project Name**: BulidSSMStudy - **Description**: ssm整合学习笔记 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-30 - **Last Updated**: 2022-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1. 配置pom.xml ```xml 4.0.0 com.wqj ssmbuild 1.0-SNAPSHOT junit junit 4.12 mysql mysql-connector-java 5.1.47 com.mchange c3p0 0.9.5.4 javax.servlet servlet-api 2.5 javax.servlet.jsp jsp-api 2.1 javax.servlet jstl 1.2 org.mybatis mybatis 3.5.6 org.mybatis mybatis-spring 2.0.6 org.springframework spring-webmvc 5.3.13 org.springframework spring-jdbc 5.3.13 org.projectlombok lombok 1.18.20 src/main/java **/*.properties **/*.xml false src/main/resources **/*.properties **/*.xml false ``` # 2. 配置MySQL驱动database.properties ```properties # 以下是MySQL5.0+版本的 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useUnicode=true&characterEncoding=UTF-8 jdbc.username=root jdbc.password=root # 注意:如果使用的MySQL8.0+,需要增加一个时区的配置;如下: # 以下是MySQL8.0+版本的 jdbc.driver=com.mysql.jdbc.Driver # 如果使用的MySQL8.0+,需要增加一个时区的配置&serverTimezone=Asia/Shanghai(这里配置的是亚洲上海); # useSSL=true&useUnicode=true&characterEncoding = utf8防止乱码 jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai jdbc.username=root jdbc.password=root ``` # 3. ssm底层整合实现步骤 1. 创建数据库 2. idea创建项目 3. idea连接数据库 4. 编写mybatis-config.xml配置文件、applicationContext.xml配置文件、数据库驱动database.properties配置文件 ```xml ``` ```xml ``` 5. 编写数据库实体类Books ```java package com.wqj.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; } ``` 6. 编写dao层数据库操作层BookMapper类和BookMapper.xml ```java package com.wqj.dao; import com.wqj.pojo.Books; import org.apache.ibatis.annotations.Param; import java.util.List; public interface BookMapper { //增加一本书 int addBook(Books books); //删除一本书 int deleteBookById(@Param("bookID") int id); //更新一本书 int updateBook(Books books); //查询一本书 Books queryBookById(@Param("bookID") int id); //查询全部的书 List queryAllBook(); } ``` ```xml insert into books (bookName, bookCount, detail) values (#{bookName},#{bookCount},#{detail}); delete from books where bookID =#{bookID}; update books set bookName = #{bookName},bookCount=#{bookCount},detail = #{detail} = where bookID=#{bookID}; ``` 7. 编写service业务层BookService接口和BookServiceImpl实现类 ```java package com.wqj.service; import com.wqj.pojo.Books; import java.util.List; public interface BookService { //增加一本书 int addBook(Books books); //删除一本书 int deleteBookById(int id); //更新一本书 int updateBook(Books books); //查询一本书 Books queryBookById(int id); //查询全部的书 List queryAllBook(); } ``` ```java package com.wqj.service; import com.wqj.dao.BookMapper; import com.wqj.pojo.Books; import java.util.List; public class BookServiceImpl implements BookService { //service调dao层:组合dao private BookMapper bookMapper; public void setBookMapper(BookMapper bookMapper) { this.bookMapper = bookMapper; } public int addBook(Books books) { return bookMapper.addBook(books); } public int deleteBookById(int id) { return deleteBookById(id); } public int updateBook(Books books) { return updateBook(books); } public Books queryBookById(int id) { return bookMapper.queryBookById(id); } public List queryAllBook() { return bookMapper.queryAllBook(); } } ``` 8. 编写spring-dao.xml整合dao层 - 关联数据库配置文件 ```xml ``` - 连接池 ```xml ``` - sqlSessionFactory - 注册数据源 - 绑定mybatis的配置文件 ```xml ``` - 配置dao接口扫描包,动态实现Dao接口可以注入到spring容器中。 ```xml ``` 9. 编写spring-service.xml整合service层 - 扫描service下的包 ```xml ``` - 将我们所有的业务类(service)注入到spring,可通过注解或配置的方式 - 注解 ```java import org.springframework.stereotype.Service; import java.util.List; @Service public class BookServiceImpl implements BookService { //service调dao层:组合dao @Autowired private BookMapper bookMapper; public void setBookMapper(BookMapper bookMapper) { this.bookMapper = bookMapper; } public int addBook(Books books) { return bookMapper.addBook(books); } public int deleteBookById(int id) { return deleteBookById(id); } public int updateBook(Books books) { return updateBook(books); } public Books queryBookById(int id) { return bookMapper.queryBookById(id); } public List queryAllBook() { return bookMapper.queryAllBook(); } } ``` - 配置方式 ```xml ``` - 声明事务配置(ioc) ```xml ``` 10. 添加web驱动 11. 编写spring-mvc.xml整合springMVc ```xml ```