ssm整合(实现一个小项目的增删改查) 3

简介: ssm整合(实现一个小项目的增删改查)

编写service接口

package com.book.service;
import com.book.bean.Bookmanage;
import java.util.List;
public interface BookmanageService {
    List<Bookmanage> getBookmanageList(Bookmanage bookmanage);
    int addBookmanage(Bookmanage bookmanage);
    Bookmanage getBookmanagebyid(int id);
    int updateBookmanage(Bookmanage bookmanage);
    int deleteBookmanagebyid(int id);
}

实现service接口

package com.book.service.impl;
import com.book.bean.Bookmanage;
import com.book.mapper.BookmanageMapper;
import com.book.service.BookmanageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BookmanageServiceImpl implements BookmanageService {
    @Autowired
    BookmanageMapper bookmanageMapper;
    @Override
    public List<Bookmanage> getBookmanageList(Bookmanage bookmanage) {
        return bookmanageMapper.getBookmanageList(bookmanage);
    }
    @Override
    public int addBookmanage(Bookmanage bookmanage) {
        return bookmanageMapper.addBookmanage(bookmanage);
    }
    @Override
    public Bookmanage getBookmanagebyid(int id) {
        return bookmanageMapper.getBookmanagebyid(id);
    }
    @Override
    public int updateBookmanage(Bookmanage bookmanage) {
        return bookmanageMapper.updateBookmanage(bookmanage);
    }
    @Override
    public int deleteBookmanagebyid(int id) {
        return bookmanageMapper.deleteBookmanagebyid(id);
    }
}

创建Controller文件并且编写增删改查方法

调用service层并创建对象

package com.book.controller;
import com.book.bean.Bookmanage;
import com.book.service.BookmanageService;
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 java.util.List;
@Controller
@RequestMapping("/bookmanage")
public class BookmanageController {
    @Autowired
    BookmanageService bookmanageService;
}

查询

转发的页面要在jsp的包中

@RequestMapping("/getList")
    public String getList(Bookmanage bookmanage, Model model){
        List<Bookmanage>list=bookmanageService.getBookmanageList(bookmanage);
        model.addAttribute("list",list);
        return "getbookList.jsp";
    }
前端jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <table border="1">
        <tr>
            <td>编号</td>
            <td>书名</td>
            <td>作者</td>
            <td>时间</td>
            <td>类型</td>
            <td>&nbsp;&nbsp;操&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;作&nbsp;&nbsp;</td>
        </tr>
        <c:forEach items="${list}" var="b">
            <tr>
                <td>${b.id}</td>
                <td>${b.name}</td>
                <td>${b.author}</td>
                <td>${b.time}</td>
                <td class="typeBom">${b.type}</td>
                <td><a href="/bookmanage/goupdate?id=${b.id}">修改</a>&nbsp;&nbsp;<a href="/bookmanage/delete?id=${b.id}">删除</a></td>
            </tr>
        </c:forEach>
    </table>
    <a href="/bookmanage/goadd">添加书籍</a>
</body>
<script>
    //让状态的数值转换为汉字
    var typeBom=document.getElementsByClassName("typeBom");
    for (var i=0;i<typeBom.length;i++){
        if (typeBom[i].innerHTML==1){
            typeBom[i].innerHTML="计算机"
        }else if (typeBom[i].innerHTML==2){
            typeBom[i].innerHTML="小说"
        }else{
            typeBom[i].innerHTML="杂志"
        }
    }
</script>
</html>
显示

增加

goadd方法跳转到add页面,因为/WEB-INF/jsp/包下的文件是不能随便访问的

我们springmvc配置了转发可以访问,所以写一个只有转发的goadd方法

@RequestMapping("/goadd")
    public String goadd(){
        return "addbook.jsp";
    }
    @RequestMapping("/add")
    public String getList(Bookmanage bookmanage){
        bookmanageService.addBookmanage(bookmanage);
        return "redirect:/bookmanage/getList";
    }

add方法增加完重定项到查询的页面

前端jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="/bookmanage/add" method="post">
        书名:<input type="text" name="name">
        <br>
        作者:<input type="text" name="author">
        <br>
        时间:<input type="text" name="time">
        <br>
        类型:<select name="type">
                <option value="0">请选择</option>
                <option value="1">计算机</option>
                <option value="2">小说</option>
                <option value="3">杂志</option>
            </select>
        <input type="submit" value="提交">
    </form>
</body>
</html>
显示

点击提交后自动重定项到查询页面

修改

修改要先根据id查一下要修改的列

@RequestMapping("/goupdate")
    public String goupdate(int id,Model model){
        Bookmanage bookmanage=bookmanageService.getBookmanagebyid(id);
        model.addAttribute("bookmanage",bookmanage);
        return "updatebook.jsp";
    }
    @RequestMapping("/update")
    public String update(Bookmanage bookmanage){
        bookmanageService.updateBookmanage(bookmanage);
        return "redirect:/bookmanage/getList";
    }
前端jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="b"%>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="/bookmanage/update" method="post">
        <input type="hidden" name="id" value="${bookmanage.id}">
        书名:<input type="text" name="name" value="${bookmanage.name}">
        <br>
        作者:<input type="text" name="author" value="${bookmanage.author}">
        <br>
        时间:<input type="text" name="time" value="${bookmanage.time}">
        <br>
        类型:<select name="type">
                <option value="0">请选择</option>
                <option value="1">计算机</option>
                <option value="2">小说</option>
                <option value="3">杂志</option>
            </select>
        <input type="submit" value="提交">
    </form>
</body>
</html>

删除

只用前端页面提供的id就行

@RequestMapping("/delete")
    public String delete(int id){
        bookmanageService.deleteBookmanagebyid(id);
        return "redirect:/bookmanage/getList";
    }

(完)

相关文章
|
2月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
2月前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
2月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
75 11
|
2月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
39 1
|
2月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
71 5
|
2月前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
33 5
|
2月前
|
SQL Java 数据库连接
快速搭建SSM项目【最全教程】~令狐小哥版
快速搭建SSM项目【最全教程】~令狐小哥版
33 1
|
2月前
|
Java 关系型数据库 数据库连接
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
222 10
|
2月前
|
Java 关系型数据库 MySQL
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第4天】本文分析了Spring Boot应用在连接数据库时可能遇到的问题及其解决方案。主要从四个方面探讨:配置文件格式错误、依赖缺失或版本不兼容、数据库服务问题、配置属性未正确注入。针对这些问题,提供了详细的检查方法和调试技巧,如检查YAML格式、验证依赖版本、确认数据库服务状态及用户权限,并通过日志和断点调试定位问题。
|
2月前
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
57 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学