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

熟悉掌握SpringMVC(六)——整合SSM(一个简易的图书管理系统)

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

熟悉掌握SpringMVC(六)——整合SSM(一个简易的图书管理系统)

文章目录
  • 环境配置
  • 数据库环境
  • 基本环境搭建
  • Mybatis层编写
    • 数据库配置文件database.properties
    • 编写Mybatis核心配置文件Mybatis-config.xml
    • 编写数据库对应的实体类com.pag.pojo.Books
    • 编写Mapper接口com.pag.mapper.BookMapper.interface
    • 编写对应的Mapper.xml文件BookMapper.xml
    • 编写Service层的接口和实现类com.pag.service
      • BookService.interface
      • BookServiceImpl.java
  • Spring层
    • 编写Spring整合Mybatis的相关的配置文件; spring-mapper.xml
    • Spring整合service层
  • SpringMVC层
    • web.xml
    • spring-mvc.xml
    • Spring配置整合文件,applicationContext.xml
  • Controller和视图层编写
    • 查询所有书籍
    • 添加书籍
    • 修改书籍
    • 删除书籍
    • 查询书籍功能
    • 额外的条件判断

环境配置
  • IDEA
  • MySQL 8
  • Tomcat 9
  • JDK 16
  • Maven 3.6
数据库环境
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 '细节',
PRIMARY KEY (bookId)
)ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT INTO books(bookId,bookName,bookCounts,detail) VALUES (1,'Java',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');
基本环境搭建

    
    
        junit
        junit
        4.13.2
    
    
    
        mysql
        mysql-connector-java
        8.0.26
    
    
    
        com.mchange
        c3p0
        0.9.5.5
    
    
    
        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.3.10
    
    
        org.springframework
        spring-jdbc
        5.3.10
    
    
    
        org.projectlombok
        lombok
        1.18.20
    

Maven静态资源过滤设置:


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

Mybatis层编写 数据库配置文件database.properties
jdbc.drive=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
jdbc.username=root
jdbc.password=123456
编写Mybatis核心配置文件Mybatis-config.xml




    
        
    
    
        
    
    
    
        
    

编写数据库对应的实体类com.pag.pojo.Books
package com.pag.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;
}
编写Mapper接口com.pag.mapper.BookMapper.interface
package com.pag.mapper;

import com.pag.pojo.Books;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface BookMapper {
    //增加一个Book
    int addBook(Books books);
    //根据id删除一个Book
    int deleteBook(@Param("bookId") int id);
    //更新Book
    int updateBook(Books books);
    //根据id查询,返回一个Book
    Books queryBookById(@Param("bookId") int id);
    //查询全部Book,返回list集合
    List queryAllBook();
    //根据名字查询,返回一个Book
    Books queryBookByName(@Param("bookName") String bookName);
}
编写对应的Mapper.xml文件BookMapper.xml



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

    
    
        select * from ssmbuild.books
    

    
    


书籍数量:


书籍详情:


修改书籍

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

修改书籍页面 updateBook.jsp

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


    修改信息
    
    
    


书籍名称: 书籍数量: 书籍详情:
删除书籍

BookController 类编写

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

前端页面增加一个输入框和查询按钮

编写查询的Controller

@RequestMapping("/queryBook")
public String queryBook(String queryBookName,Model model){
    System.out.println("要查询的书籍:"+queryBookName);
    //业务逻辑还没有写
    return "allBook";
}

Mapper接口

//根据id查询,返回一个Book
Books queryBookByName(String bookName);

Mapper.xml


Service接口

//根据id查询,返回一个Book
Books queryBookByName(String bookName);

Service实现类

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

完善Controller

@RequestMapping("/queryBook")
public String queryBook(String queryBookName,Model model){
    System.out.println("要查询的书籍:"+queryBookName);
    Books books = bookService.queryBookByName(queryBookName);
    List list = new ArrayList();
    list.add(books);
    model.addAttribute("list", list);
    return "allBook";
}
额外的条件判断
@RequestMapping("/queryBook")
   public String queryBook(String queryBookName,Model model){
       System.out.println("要查询的书籍:"+queryBookName);
       //如果查询的数据存在空格,则优化
       Books books = bookService.queryBookByName(queryBookName.trim()); 
       List list = new ArrayList();
       list.add(books);
       //如果没有查出来书籍,则返回全部书籍列表
       if (books==null){
           list = bookService.queryAllBook();
           model.addAttribute("error", "没有找到本书!");
       }
       model.addAttribute("list", list);
       return "allBook";
   }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301135.html

Java相关栏目本月热门文章

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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