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

(完)

相关文章
|
5月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
509 77
|
5月前
|
XML 数据库 Android开发
Android数据库的使用(增删改查)
本文介绍了一个简单的数据库操作Demo,包含创建数据库、增删改查功能。通过5个按钮分别实现创建数据库、插入数据、删除数据、更新数据和查询数据的操作。代码结构清晰,适合初学者学习Android SQLite数据库基础操作。
128 5
|
5月前
|
数据库 Android开发 开发者
Android常用的room增删改查语句(外部数据库)
本文分享了将一个原生数据库驱动的单词APP重构为使用Room库的过程及遇到的问题,重点解决了Room中增删改查的常用语句实现。文章通过具体示例(以“forget”表为例),详细展示了如何定义实体类、Dao接口、Database类以及Repository和ViewModel的设计与实现。同时,提供了插入、删除、更新和查询数据的代码示例,包括模糊查询、分页加载等功能。此外,针对外部数据库导入问题,作者建议可通过公众号“计蒙不吃鱼”获取更多支持。此内容适合有一定Room基础的开发者深入学习。
162 0
Android常用的room增删改查语句(外部数据库)
|
8月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
241 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
8月前
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
310 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
8月前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
9月前
|
数据管理 数据库 数据安全/隐私保护
Django—同一项目不同app使用不同数据库
在Django项目中实现不同app使用不同数据库的配置,可以通过配置多数据库、创建数据库路由和配置路由来实现。通过这种方法,可以有效地将数据隔离到不同的数据库,提高数据管理的灵活性和系统的可扩展性。希望本文能为开发者在Django项目中使用多数据库提供清晰的指导。
177 4
|
10月前
|
SQL 关系型数据库 API
HarmonyOs开发:关系型数据库封装之增删改查
每个方法都预留了多种调用方式,比如使用callback异步回调或者使用Promise异步回调,亦或者同步执行,大家在使用的过程中,可以根据自身业务需要进行选择性调用,也分别暴露了成功和失败的方法,可以针对性的判断在执行的过程中是否执行成功。
313 13
|
12月前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
12月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
390 5

热门文章

最新文章