【SSM】基于SSM实现图书信息的增删改查

一、数据库设计

数据库比较简单,只有一个表,表中的字段包括id、图书名称、图书作者和图书售价

在这里插入图片描述

二、项目目录结构

在这里插入图片描述

三、controller层

package com.lyh.controller;

import com.lyh.domain.Book;
import com.lyh.service.impl.BookServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * @author martin
 * @date 2020/11/6
 **/

@Controller
public class BookController {

    private BookServiceImpl bookService;

    @Autowired
    public void setBookService(BookServiceImpl bookService) {
        this.bookService = bookService;
    }

    @RequestMapping("/add")
    public String pageAdd() {
        return "add";
    }

    @RequestMapping("/search")
    public String pageSearch(Model model) {
        List<Book> list = bookService.findAll();
        model.addAttribute("list", list);
        return "search";
    }

    @RequestMapping("/update")
    public String pageUpdate() {
        return "update";
    }

    @RequestMapping("/delete")
    public String pageDelete() {
        return "delete";
    }

    @RequestMapping("/book/add")
    public void bookAdd(Book book, HttpServletResponse response) {
        response.setContentType("text/html;charset=utf-8");
        try {
            if (bookService.addBook(book) > 0) {
                response.getWriter().print("添加成功!");
            } else {
                response.getWriter().print("添加失败!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @RequestMapping("book/delete")
    public void bookDelete(String name, HttpServletResponse response) {
        response.setContentType("text/html;charset=utf-8");
        try {
            if (bookService.deleteBook(name) > 0) {
                response.getWriter().print("删除成功!");
            } else {
                response.getWriter().print("删除失败!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @RequestMapping("book/update")
    public void bookUpdate(Book book, HttpServletResponse response) {
        response.setContentType("text/html;charset=utf-8");
        try {
            if (bookService.updateBook(book) > 0) {
                response.getWriter().print("修改成功!");
            } else {
                response.getWriter().print("修改失败!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

四、dao层

package com.lyh.dao;

import com.lyh.domain.Book;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author martin
 * @date 2020/11/6
 **/

@Repository
public interface BookDao {

    @Select("select * from my_book")
    List<Book> findAll();

    @Insert("insert into my_book(name,author,price) values(#{name},#{author},#{price})")
    int addBook(Book book);

    @Delete("delete from my_book where name = #{name}")
    int deleteBook(String name);

    @Update("update my_book set name=#{name},author=#{author},price=#{price} where name = #{name}")
    int updateBook(Book book);
}

五、domain层

package com.lyh.domain;

import lombok.Data;

/**
 * @author martin
 * @date 2020/11/6
 **/

@Data
public class Book {
    private Integer id;
    private String name;
    private String author;
    private Double price;
}

六、service层

package com.lyh.service.impl;

import com.lyh.dao.BookDao;
import com.lyh.domain.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author martin
 * @date 2020/11/6
 **/

@Service("bookService")
public class BookServiceImpl implements BookDao {
    private BookDao bookDao;
    @Autowired
    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }
    @Override
    public List<Book> findAll() {
        return bookDao.findAll();
    }

    @Override
    public int addBook(Book book) {
        return bookDao.addBook(book);
    }

    @Override
    public int deleteBook(String name) {
        return bookDao.deleteBook(name);
    }

    @Override
    public int updateBook(Book book) {
        return bookDao.updateBook(book);
    }
}

七、结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、源代码

在这里插入图片描述

项目源代码

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值