VUE.js

后端:

BookMapper:

<select id="selectBybookname" resultMap="BaseResultMap" parameterType="java.lang.String" >select<include refid="Base_Column_List" />from t_book<where><if test="bookname != null and bookname !=''">and bookname like CONCAT('%',#{bookname},'%')</if></where>
</select>
List<Book> selectBybookname(@Param("bookname") String book);

BookService:

package com.zking.ssm.service;import com.zking.ssm.model.Book;
import org.apache.ibatis.annotations.Param;import java.util.List;public interface BookService {int insertSelective(Book record);List<Book> selectBybookname(String bookname);
}

BookController:

package com.zking.ssm.controller;import com.zking.ssm.model.Book;
import com.zking.ssm.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;
import java.util.List;
import java.util.Map;@RestController
@RequestMapping("/book")
public class BookController {@Autowiredprivate BookService bookService;@RequestMapping("/list")public Map list(Book book){List<Book> books = this.bookService.selectBybookname(book.getBookname());Map map = new HashMap();map.put("code",200);map.put("data",books);return map;}@RequestMapping("/save")public Map add(Book book){int i = this.bookService.insertSelective(book);Map map = new HashMap();map.put("code",200);map.put("data",i > 0 ? "成功" : "失败");return map;}}

BookServiceImpl:

package com.zking.ssm.service.impl;import com.zking.ssm.mapper.BookMapper;
import com.zking.ssm.model.Book;
import com.zking.ssm.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class BookServiceImpl implements BookService {@Autowiredprivate BookMapper bookMapper;@Overridepublic int insertSelective(Book record) {return bookMapper.insertSelective(record);}@Overridepublic List<Book> selectBybookname(String bookname) {return bookMapper.selectBybookname(bookname);}
}

前端:

<template><div><h1 align="center">SSM阶段机试,ts={{ts}}</h1><!-- 弹出层 --><el-dialog title="书籍新增" :visible.sync="dialogFormVisible"><el-form :model="form" :rules="rules" ref="form"><el-form-item label="书籍名称" :label-width="formLabelWidth" prop="bookname"><el-input v-model="form.bookname" autocomplete="off"></el-input></el-form-item><el-form-item label="书籍价格" :label-width="formLabelWidth" prop="price"><el-input v-model="form.price" autocomplete="off"></el-input></el-form-item><el-form-item label="书籍类别" :label-width="formLabelWidth" prop="booktype"><el-select v-model="form.booktype" placeholder="请选择书籍类别"><el-option label="神话" value="神话"></el-option><el-option label="历史" value="历史"></el-option></el-select></el-form-item></el-form><div slot="footer" class="dialog-footer"><el-button @click="dialogFormVisible = false">取 消</el-button><el-button type="primary" @click="add">确 定</el-button></div></el-dialog><!-- 搜索框 --><el-form :inline="true" class="demo-form-inline"><el-form-item label="书籍名称"><el-input v-model="bookname" placeholder="请输入书籍名称"></el-input></el-form-item><el-form-item><el-button type="primary" @click="onSubmit">查询</el-button><el-button type="primary" @click="dialogFormVisible = true">新增</el-button></el-form-item></el-form><!-- 表格 --><el-table :data="tableData" stripe style="width: 100%"><el-table-column prop="bookname" label="书籍名称" width="590"></el-table-column><el-table-column prop="price" label="书籍价格" width="590"></el-table-column><el-table-column prop="booktype" label="书籍类别"></el-table-column></el-table></div>
</template><script>export default {data: function() {return {ts: new Date().getTime(),tableData: [],dialogFormVisible: false,bookname: '',form: {bookname: '',price: '',booktype: ''},formLabelWidth: '120px',rules: {bookname: [{required: true,message: '请输入书籍名称',trigger: 'blur'}],price: [{required: true,message: '请输入书籍价格',trigger: 'blur'}],booktype: [{required: true,message: '请选择书籍类别',trigger: 'change'}]}};},methods: {list(param) {let url = this.axios.urls.LIST;this.axios.post(url, param).then(res => {this.tableData = res.data.data;});},onSubmit() {let param = {bookname: this.bookname};this.list(param);},add() {this.$refs['form'].validate((valid) => {if (valid) {let url = this.axios.urls.SAVE;this.axios.post(url, this.form).then(res => {let code = res.data.code;if (code == 200) {this.dialogFormVisible = false;this.list();} else {console.error('添加失败');}});} else {console.log('error submit!!');return false;}});}},created() {this.list();}};
</script>
<style>
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NOIP2014提高组第二轮day1 - T3:飞扬的小鸟

#题目链接 [NOIP2014 提高组] 飞扬的小鸟 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏。玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度&#xff0c;让小鸟顺利通过画面右方的管道缝隙。如果小鸟一不小心撞到了水管或者掉在地上的话&#xff0c;便宣告失败…

深度解析 Kafka 消息保证机制

Kafka作为分布式流处理平台的重要组成部分&#xff0c;其消息保证机制是保障数据可靠性、一致性和顺序性的核心。在本文中&#xff0c;将深入探讨Kafka的消息保证机制&#xff0c;并通过丰富的示例代码展示其在实际应用中的强大功能。 生产者端消息保证 1 At Most Once &quo…

pip的常用命令

安装、卸载、更新包&#xff1a;pip install [package-name]&#xff0c;pip uninstall [package-name]&#xff0c;pip install --upgrade [package-name]。升级pip&#xff1a;pip install --upgrade pip。查看已安装的包&#xff1a;pip list&#xff0c;pip list --outdate…

ubuntu22.04 显卡驱动最简单的安装方法

1.拉取可选择安装的显卡驱动版本 sudo apt-get purge nvidia* #apt 的 update 和 upgrade 的区别 #apt update 命令只会获得系统上所有包的最新信息&#xff0c;并不会下载或者安装任何一个包。 #apt upgrade 命令来把这些包下载和升级到最新版本。 2.sudo apt update 3.安装…

EI级 | Matlab实现TCN-GRU-Multihead-Attention多头注意力机制多变量时间序列预测

EI级 | Matlab实现TCN-GRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 EI级 | Matlab实现TCN-GRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【EI级】Matlab实现TCN-GRU-Multihead-Attention…

TCP通讯

TCP通信 TCP通信方式呢 主要的通讯方式是一对一的通讯方式&#xff0c;也有着优点和缺点 它的优点对比于UDP来说就是可靠一点 因为它的通讯方式是需要先发送消息 看看客户端是否能够接收到消息 如果没有回复消息的话 服务端 就不会发出文件 等待客户端回复消息&#xff0c…

结构体,自定义类型

目录 结构体 结构体的声明 结构体的自引用 结构体的定义和初始化 结构体内存对齐 ​编辑 结构体的对齐规则&#xff1a; 为什么存在内存对齐&#xff1f; 修改默认对齐数 结构体传参 位段 什么是位段 位段的内存分配 位段的跨平台问题 枚举 联合&#xff08;共用体…

文件管理:每个文件夹只移入1个文件要怎样操作?批量移动文件技巧

在文件管理过程中&#xff0c;有时要将多个文件分别移动到不同的文件夹中&#xff0c;每个文件夹只包含一个文件。这样的需求可能出现在许多场景中&#xff0c;比如整理文件、备份资料或者进行特定的项目处理。如果每个手动去移动文件就会出现丢失的情况&#xff0c;以及太过耗…

括号匹配的检验(数据结构实训)

题目&#xff1a; 括号匹配的检验 标准输入输出 题目描述&#xff1a; 采用栈实现,练习进栈入栈函数的编写. 输入&#xff1a; 输入的第一行包含一个数,n n表示要用例的个数 接下来是n行由括号构成的字符串&#xff0c;包含‘&#xff08;’、‘&#xff09;’、‘[’、‘]’。…

【PTA-C语言】编程练习4 - 数组Ⅱ

如果代码存在问题&#xff0c;麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~ 编程练习4 - 数组Ⅱ&#xff08;8~15&#xff09; 7-8 2048游戏模拟&#xff08;2&#xff09;--向下移位合并&#xff08;分数 15&#xff09;7-9 二进制数据转换成十进制数&#xff08;分数 15&#xff09…

嵌入式系统

嵌入式系统 目前国内一个普遍认同的嵌入式系统定义是&#xff1a;以应用为中心、以计算机技术为基础&#xff0c;软件硬件可裁剪&#xff0c;适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。&#xff08;引用自《嵌入式系统设计师教程》&#xff09; …

48.Go简要实现令牌桶限流与熔断器并集成到Gin框架中

文章目录 一、简介二、限流器与熔断器在微服务中的作用1.限流器 &#xff1a; 对某个接口单位时间内的访问量做限制2. 熔断器&#xff1a;当服务连续报错&#xff0c;超过一定阈值时&#xff0c;打开熔断器使得服务不可用 三、具体实现1. 限流器实现逻辑&#xff08;以令牌桶算…

算法训练营Day9(字符串,以后补KMP)

总结 卡哥总结 代码随想录 (programmercarl.com) 我的总结 java字符串 字符串&#xff0c;java中String字符串是不可变的&#xff0c;所以一些操作需要转化为字符数组来做&#xff0c; str.toCharArray 类型是char [] 然后针对库函数这里&#xff0c;我个人认为仅仅调…

SQL Server——权限管理

一。SQL Server的安全机制 SQL Server 的安全性是建立在认证和访问许可两种安全机制之上的。其中&#xff0e;认证用来确定登录Sal Server 的用户的登录账户和密码是否正确&#xff0e;以此来验证其是否具有连接SQL Server 的权限;访问许可用来授予用户或组能够在数据库中执行哪…

软件设计师中级软考资料大全(一次过)

2023年下半年第一次参加软件设计师中级软考就过了&#xff0c;整理了下自己的备考资料和学习笔记&#xff0c;有需要可以下载 1.软件设计师中级软考全套官方参考资料及辅导书 软件设计师中级软考全套官方参考资料及辅导书 2.软件设计师中级软考历年真题解析(2004-2023) 软…

在springboot中引入参数校验

一、概要 一般我们判断前端传过来的参数&#xff0c;需要对某些值进行判断&#xff0c;是否满足条件。 而springboot相关的参数校验注解&#xff0c;可以解决我们这个问题。 二、快速开始 首先&#xff0c;我用的springboot版本是 3.1.5 引入参数校验相关依赖 <!--1…

2023五岳杯量子计算挑战赛数学建模思路+代码+模型+论文

目录 计算力网络&#xff08;CPN&#xff09;是一种新型的信息基础设施&#xff0c;完整论文代码见文末 问题描述 2.1 问题1 2.2 问题2 2.3 问题3 问题1的解答过程&#xff1a; 问题3的解答过程&#xff1a; 决策优化应用场景&#xff1a;人工智能模型超参数调优 背景信…

最新V2Board 面板搭建教程(一)

1、购买服务器 2、解析域名并放行端口&#xff0c;Cloudflare官网&#xff1a;【点击进入】 更多的防火墙设置可查看此文章&#xff1a;【点击进入】 firewall-cmd --zonepublic --add-port端口号/tcp --permanent 顺哥博客 3、安装宝塔面板国际版&#xff0c;官网地址&am…

ELK(四)—els基本操作

目录 elasticsearch基本概念RESTful API创建非结构化索引&#xff08;增&#xff09;创建空索引&#xff08;删&#xff09;删除索引&#xff08;改&#xff09;插入数据&#xff08;改&#xff09;数据更新&#xff08;查&#xff09;搜索数据&#xff08;id&#xff09;&…

Kafka性能调优:高吞吐、低延迟的数据流

Apache Kafka作为一种高性能、分布式流处理平台&#xff0c;对于实时数据的处理至关重要。本文将深入讨论Kafka性能调优的关键策略和技术&#xff0c;通过丰富的示例代码为大家提供实际操作指南&#xff0c;以构建高吞吐、低延迟的数据流系统。 Broker 配置的优化 首先&#…