ssm整合

1.环境要求

1.1 环境

IDEA    MySQL5.7.19   Tomcat9   Maven3.6

1.2 数据库

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,'从进门到进牢');

1.3 基本环境搭建

1、新建一Maven项目!ssm整合 , 添加web的支持

2、导入相关的pom依赖!

   
        
        
            junit
            junit
            4.12
        
        
        
            mysql
            mysql-connector-java
            5.1.47
        
        
        
            com.mchange
            c3p0
            0.9.5.2
        

        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet.jsp
            jsp-api
            2.0
        
        
            javax.servlet
            jstl
            1.2
        
        
            taglibs
            standard
            1.1.2
        

        
        
            org.mybatis
            mybatis
            3.5.2
        
        
            org.mybatis
            mybatis-spring
            2.0.2
        

        
        
            org.springframework
            spring-webmvc
            5.2.0.RELEASE
        
        
            org.springframework
            spring-jdbc
            5.2.0.RELEASE
        
        
            org.aspectj
            aspectjweaver
            1.8.13
        

        
        
            org.projectlombok
            lombok
            1.16.10
        

    

3、Maven资源过滤设置

    
        
            
                src/main/java
                
                    **/*.xml
                    **/*.properties
                
                false
            
            
                src/main/resources
                
                    **/*.xml
                    **/*.properties
                
                false
            
        
    

4、建立基本结构和配置框架!

com.sxw.pojo

com.sxw.dao

com.sxw.service

com.sxw.controller

mybatis-config.xml





applicationContext.xml




2. Mybatis层编写

1、数据库配置文件 database.properties

jdbc.driver=com.mysql.jdbc.Driver
#如果使用的是mysql8.0+ url设置时 需要加时区的设置
jdbc.url=jdbc:mysql://localhost:3306/ssm?useSSL=true&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=6666

2、编写MyBatis的核心配置文件




    
        
    
    
    
        
    

    
        
    

3、编写数据库对应的实体类 com.sxw.pojo.Books

package com.sxw.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;

}

4、编写Dao层的 Mapper接口!

package com.sxw.dao;

import com.sxw.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();

    Books queryBookByName(@Param("bookName") String bookName);
}

5、编写接口对应的 Mapper.xml 文件。需要导入MyBatis的包;





    
        insert into books (bookName,bookCounts,detail)
        values (#{bookName},#{bookCounts},#{detail});
    

    
        delete from books where bookID=#{bookID}
    

    
        update books
        set bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail}
        where bookID=#{bookID} ;
    

    

    

    

6、编写Service层的接口和实现类

package com.sxw.service;

import com.sxw.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();

    Books queryBookByName(String bookName);
}
package com.sxw.service;

import com.sxw.dao.BookMapper;
import com.sxw.pojo.Books;

import java.util.List;


public class BookServiceImpl implements BookService {

    //service调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 bookMapper.deleteBookById(id);
    }

    public int updateBook(Books books) {
        return bookMapper.updateBook(books);
    }

    public Books queryBookById(int id) {
        return bookMapper.queryBookById(id);
    }

    public List queryAllBook() {
        return bookMapper.queryAllBook();
    }

    public Books queryBookByName(String bookName) {
        return bookMapper.queryBookByName(bookName);
    }
}

3. Spring层编写

1、配置Spring整合MyBatis,我们这里数据源使用c3p0连接池;

2、我们去编写Spring整合Mybatis的相关的配置文件;spring-dao.xml




    
    

    
    
        
        
        
        
    

    
    
        
        
        
     

    
    
        
        
        
        
    


3、Spring整合service层 spring-service.xml




    
    

    
    
        
    

    
    
        
        
    

    
    
    
        
        
        
            
            
            
            
            
            
        
    
     
    
    
        
        
        
    


4. SpringMVC层

1、web.xml




    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            
            contextConfigLocation
            classpath:applicationContext.xml
        
        1
    
    
        springmvc
        /
    

    
    
        encoding
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        encoding
        /*
    

    
    
        15
    

2、spring-mvc.xml




    
    
    
    
    
    
    
    
        
        
    

3、Spring配置整合文件,applicationContext.xml




    
    
    


5、其他代码编写

1、BookController 类编写 , 方法一:查询全部书籍

@Controller
@RequestMapping("/book")
public class BookController {

   @Autowired
   @Qualifier("BookServiceImpl")
   private BookService bookService;

   @RequestMapping("/allBook")
   public String list(Model model) {
       List list = bookService.queryAllBook();
       model.addAttribute("list", list);
       return "allBook";
  }
}

2、编写首页 index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


  首页
  


进入书籍页面

3、书籍列表页面 allbook.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>



    书籍展示

    <%--BookStrap 美化界面 --%>
    



<%--toAddBook --%> 新增书籍 显示全部书籍
<%-- 查询书籍 --%>
${error}
<%-- 书籍从数据库中查询出来,从这个list中遍历出来:foreach --%>
书籍编号 书籍名称 书籍数量 书籍详情 操作
${book.bookID} ${book.bookName} ${book.bookCounts} ${book.detail} 修改   |   删除

4、BookController 类编写 , 方法二:添加书籍

@RequestMapping("/toAddBook")
public String toAddPaper() {
   return "addBook";
}

@RequestMapping("/addBook")
public String addPaper(Books books) {
   System.out.println(books);
   bookService.addBook(books);
   return "redirect:/book/allBook";
}

5、添加书籍页面:addBook.jsp


<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title
    <%--BookStrap 美化界面 --%>
    


6、BookController 类编写 , 方法三:修改书籍

@RequestMapping("/toUpdateBook")
public String toUpdateBook(Model model, int id) {
   Books books = bookService.queryBookById(id);
   System.out.println(books);
   model.addAttribute("book",books );
   return "updateBook";
}

@RequestMapping("/updateBook")
public String updateBook(Model model, Books book) {
   System.out.println(book);
   bookService.updateBook(book);
   Books books = bookService.queryBookById(book.getBookID());
   model.addAttribute("books", books);
   return "redirect:/book/allBook";
}

7、修改书籍页面  updateBook.jsp


<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    修改书籍
    <%--BookStrap 美化界面 --%>
    


8、BookController 类编写 , 方法四:删除书籍

@RequestMapping("/del/{bookId}")
public String deleteBook(@PathVariable("bookId") int id) {
   bookService.deleteBookById(id);
   return "redirect:/book/allBook";
}

配置Tomcat,进行运行!

你可能感兴趣的:(ssm整合)