栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【SpringMVC】六、SSM整合开发【狂神篇】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【SpringMVC】六、SSM整合开发【狂神篇】

1、运行效果

2、环境要求

环境:

IDEAMySQL 5.7.19Tomcat 9Maven 3.6

要求:

需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识; 3、数据库

创建一个存放书籍数据的数据库表

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,'从进门到进牢');
4、基本环境搭建 1)新建一Maven项目

ssmbuild , 添加web的支持

2)导入jar包

    
    
        junit
        junit
        4.13.2
        test
    
    
    
        mysql
        mysql-connector-java
        8.0.25
    
    
    
        com.mchange
        c3p0
        0.9.5.5
    
    
    
        javax.servlet
        servlet-api
        2.5
    
    
        javax.servlet.jsp
        jsp-api
        2.2
    
    
        javax.servlet.jsp.jstl
        jstl-api
        1.2
    
    
        taglibs
        standard
        1.1.2
    
    
    
        org.mybatis
        mybatis
        3.5.7
    
    
        org.mybatis
        mybatis-spring
        2.0.6
    
    
    
        org.springframework
        spring-webmvc
        5.3.8
    
    
        org.springframework
        spring-jdbc
        5.3.8
    
    
    
        org.aspectj
        aspectjweaver
        1.9.6
    
    
    
        org.projectlombok
        lombok
        1.18.20
    


3)静态资源过滤

    
        
            src/main/java
            
                ***.xml
            
            
            false
        
    

4)基本结构和配置框架

mybatis-config.xml






applicationContext.xml





5、Mybatis层 1)db.properties
jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
jdbc.username = root
jdbc.password = 123456
2)IDEA关联数据库 3)配置mybatis-config.xml



    
    
        
    
    
    
        
    
    
    
        
    

4)实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {
    private int bookID;
    private String bookName;
    private int bookCounts;
    private String detail;
}
5)Dao接口
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();

    
    List queryBookByName(@Param("bookName") String name);
}
6)接口映射xml



    
            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};
    

    
        select * from books;
    

    


模糊查询:like concat('%',#{bookName},'%')

7)Service层接口及实现类

接口

public interface BookService {
    
    int addBook(Books books);

    
    int deleteBookById(int id);

    
    int updateBook(Books books);

    
    Books queryBookById(int id);

    
    List queryAllBook();

    
    List queryBookByName(String name);
}

实现类

@Service
public class BookServiceImpl implements BookService{
    
    private BookMapper bookMapper;

    @Autowired
    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }

    @Override
    public int addBook(Books books) {
        return bookMapper.addBook(books);
    }

    @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 List queryAllBook() {
        return bookMapper.queryAllBook();
    }

    @Override
    public List queryBookByName(String name) {
        return bookMapper.queryBookByName(name);
    }
}
6、Spring层 1)整合MyBatis

使用c3p0连接池

spring-dao.xml



    
    
    

    
    
    
        
        
        
        
        

        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
        
        
        
        this.bookMapper = bookMapper;
    }
}    

applicationContext.xml 添加注解支持等







7、SpringMVC层 1)web.xml


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

    
    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        encodingFilter
        
    @RequestMapping("/getAll")
    public String getAllBook(Model model){
        List list = bookService.queryAllBook();
        model.addAttribute("list", list);
        return "allBook";
    }
}    

首页index.jsp

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

  
    首页
  
  
  进入书籍展示
  

书籍列表 allbook.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    书籍展示
    
    
    




    
        
            
                
                    书籍列表 —— 显示所有书籍
                
            
        
    

    
        
            新增
        
        
            
书籍编号 书籍名字 书籍数量 书籍详情 操作
${book.getBookID()} ${book.getBookName()} ${book.getBookCounts()} ${book.getDetail()} 更改 | 删除

(2)添加书籍

方法

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

    
    @RequestMapping(value = "/addBook",method = RequestMethod.POST)
    public String addBook(Books books){
        bookService.addBook(books);
        return "redirect:/book/getAll";
    }

addBook.jsp

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


    添加书籍
    



  
    
      
        
          新增书籍
        
      
    
  
  

(3)修改书籍

方法

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

    
    @RequestMapping("/updateBook")
    public String updateBook(Books books){
        bookService.updateBook(books);
        return "redirect:/book/getAll";
    }

updateBook.jsp

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


    修改书籍
    



  
    
      
        
          修改书籍
        
      
    
  
  

(4)删除书籍

方法

    
    @RequestMapping("/del/{bookID}")
    public String delBook(@PathVariable("bookID") int id){
        bookService.deleteBookById(id);
        return "redirect:/book/getAll";
    }
(5)查询书籍

方法

    
    @RequestMapping("/queryBook")
    public String queryBook(String bookName,Model model){
        List list = bookService.queryBookByName(bookName);
        model.addAttribute("list", list);
        return "allBook";
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/703883.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号