增删改查文档
列表 :
列表包含 :
模糊查找 + 分页
列表jsp页面 :
一 :导入外部文件
(举例 : 用户点进来就可以看到菜单,这是预加载属于,使用文档就绪函数实现)
二 : body 上
① : 文档就绪函数 ${ function()
//获取条件查询的字段
//组装对象
//调用文档就绪函数
}
② : 封装ajax方法{
$.ajax({
- 请求路径
- 请求方法
- 数据传递
- 解析
- 成功回调函数
- 打印
- 因为有分页添加分页
let arr = res.data; //首页
let prevPage = res.prevPage; //上一页
let nextPage = res.nextPage; //下一页
let totalPage = res.totalPage; //尾页
3.清空表
4.追加表头
5.使用循环追加数据
(因为有分页 用上面的arr)
for (let x of arr)
- 在循环外面追加分页按钮 colspan居中
<td colspan="100">
<input type="button" value="首页" οnclick="doPage(1)">
- 失败回调函数{
给出提示
}
})
}
body 中间
三 : 搜索框 inp
四 : 搜索按钮 button
五 : 列表 table
六 : body 下写脚本 script
- 给搜索按钮绑定一个点击事件{
//获取条件查询的字段
//组装对象
//调用文档就绪函数
}
- 分页 给分页写一个function方法{
//获取条件查询的字段
//组装对象
//调用文档就绪函数
//多加一个pageNum
}
Controller:
一 : @WebServlet("/menu/*")
MenuVo menuVo = JSONObject.parseObject(reqInfos, MenuVo.class);
//将转换后的对象传给Service
PageResult<MenuVo> list= service.menuList(menuVo);
//将转换后的结果响应给用户
resp.getWriter().println(JSONObject.toJSONString(list));
//调用到层方法获取所有数据
List<MenuVo> list = dao.menuList(menuVo);
//调用到层方法,获取总条数
int count = dao.getCount(menuVo);
//Integer pageNum, Integer totalNum, Integer pageSize, List<T> data
PageResult<MenuVo> menuVoPageResult = new PageResult<>(menuVo.getPageNum(), count, menuVo.getPageSize(), list);
return menuVoPageResult;
二 : ser {
全局变量
- 接参
- 将json对象转换成java对象
- 将转换后的对象传给service
- 将处理后的结果响应给用户
}
Service:
① : 调用dao层方法获取所有数据 (参数放vo类的)
List<MenuVo> list = dao.menuList(menuVo);
② : 定义总条数的方法
int count = dao.getCount(menuVo);
③ : 点进去分页工具类 调用方法 (将参数粘过来对着写) 得到返回值
④ : 返回返回值
Dao:
一 : 1.定义sql语句 :
- 根据名字模糊查找
- 打印sql语句
- 分页sql语句
sql+=" limit ?,?";
- 分页公式 : 起始下标 = (当前页数 - 1)*条数
int index=(menuVo.getPageNum()-1)*menuVo.getPageSize();
- 分页公式
处理返回结果
添加 :
添加Jsp页面:
一 :导入外部文件
(举例 : 用户点进来就可以看到菜单,这是预加载属于,使用文档就绪函数实现)
二 : body 上
① : 文档就绪函数 ${ function()
//调用下拉框的function方法
//关闭异步
}
② : 封装ajax方法{
$.ajax({
- 请求路径
- 请求方法
- 数据传递
- 解析
- 成功回调函数{
① : 打印
② : 循环追加数据{
//追加数据 :
1.是下拉框的数据
2.头追的是外键的ID
3.value : 外键的ID
4.option中间方法的是 外键的名字
for (let x of res) {
//追加数据
$("#typeId").append(`
<option value="\${x.typeId}">\${x.typeName}</option>
- 失败回调函数 { 给出提示 }
三 : body 中间
- 添加文本框
文本框用 : text 下拉框 : <select> <option>
下拉框的ID给的是主表里外键的字段 追加的是外键的主键和外面的名称字段
下俩框示例 : 类型ID: <select id="typeId">
<option value="">请选择</option>
</select><br>
图片实例 :
上传图片: <img src="" alt="" width="35" height="35" id="imgUrl">
<input type="file" id="file" onchange="showImg(this)">
- 添加的按钮
- Body下面写 <script>
①先给图片绑定点击事件
- 获取选中图片的路径
- 创建文件阅读器
- 读取文件图片路径
- 加载给src内容给service赋值{
- 给图片赋值
}
图片绑定事件案例
function showImg(obj) {
//获取选中图片的路径(和绑定事件里的实参使用一个单词) 加载图片内容给Service赋值
let file = obj.files[0];
//创建文件阅读器
let reader = new FileReader();
//读取图片路径
reader.readAsDataURL(file);
//加载src内容给Service赋值
reader.onload=function () {
//给图片赋值
$("#imgUrl").attr("src",reader.result)
}
}
- 给添加按钮绑定单击事件
①将res的路径给imgUrl 添加的点击事件里.ajax外
②创建formDate对象
③获取选中的图片
④将图片放到创建的formData中
⑤图片的ajax{
在成功回调函数里:将res的路径给imgUrl
}
⑥取值 (添加框字段的值)
⑦非空校验
⑧组装对象
⑨添加的ajax{
在成功回调函数里:添加后跳转list.jsp}
FileController
一 : 上传图片的方法 (上传图片单词 : upload)
①调用图片方法
②将处理后的结果响应给用户
上传图片示例 :
protected void upload(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//调用图片方法
String image = UploadUtil.uploadImage(req, resp);
//将处理后的结果响应给用户
resp.getWriter().println(JSONObject.toJSONString(image));
}
二:展示图片方法 showIng
①传参
②使用工具类调用方法
展示图片方法示例 :
protected void showImg(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//传参
String imgUrl = req.getParameter("imgUrl");
//使用工具类调用方法
UploadUtil.showImg(imgUrl,resp);
}
Controller :
上传图片的方法 : upload
1.调用工具类图片方法
2.响应
展示图片的方法 :showImg
3.传参
4.使用工具类调用方法
添加方法 {
- 接参
- 将json对象转换成Java对象
- 将转换后的对象传给service
- 处理返回值(返200)
}
Service :
①不需要显示的字段设置默认值
②调用dao层方法 没有返回值直接走
Dao :
- : 定义sql
- : 执行sql
修改 :
删除 :
相关文章:

增删改查文档
列表 : 列表包含 : 模糊查找 分页 列表jsp页面 : 一 :导入外部文件 (举例 : 用户点进来就可以看到菜单,这是预加载属于,使用文档就绪函数实现) 二 : body 上 ① : 文档就绪函数 ${ function() //获取条件查询的字段 //组装对象 //调用文档就绪函数 } ② : 封装ajax方…...

C语言蓝桥杯2023年省赛真题
文章目录 持续更新中...第一题题目描述输入格式输出格式样例输出提示 2 第二题题目描述 第三题题目描述输入格式输出格式样例输入样例输出 第四题题目描述输入格式输出格式样例输入样例输出提示 第四题题目描述输入格式输出格式样例输入样例输出提示 第五题题目描述输入格式输出…...

Python迭代器-大数据量的处理
一 生成器的实际使用(大量数据的导出) #分批导出数据然后分批写入excel import pandas as pd import openpyxl from openpyxl.utils.dataframe import dataframe_to_rowsdef execute_query(query):# 假设这是执行 SQL 查询的函数# 返回查询结果passdef …...

自动化包括态交互与感交互,而智能化包括势交互与知交互
“自动化包括态交互与感交互,而智能化包括势交互与知交互”交互框架将交互过程划分为不同类型,有助于更清晰地理解自动化和智能化的本质及其在未来agent应用中的差异与联系。 1. 自动化:态交互与感交互 自动化主要关注的是高效、无差错地执行…...

VideoBooth: Diffusion-based Video Generation with Image Prompts
VideoBooth: Diffusion-based Video Generation with Image Prompts 概括 文章提出了一个视频生成模型VideoBooth,输入一张图片和一个文本提示词,即可输出保持图片中物体且符合文本提示词要求的视频。 方法 粗-细两阶段设计:1)…...

模拟简单的iOT工作流
没有实际接触过iOT的流程,应该实际使用比这个接口返回要复杂,只是演示~希望能参与实际的接口接入,而不是只展示个假数据。 启动RabbitQ 使用的是3.8.5 启动命令 RabbitMQ Service - start RabbitMQ Command Prompt rabbitmqctl start_app …...

C++学习0.2: RAII
引用: 【代码质量】RAII在C编程中的必要性_raii 在c中的重要性-CSDN博客 C RAII典型应用之lock_guard和unique_lock模板_raii lock-CSDN博客 前言: 常用的线程间同步/通信(IPC)方式有锁(互斥锁、读写锁、自旋锁)、…...

k8s,进一步理解Pod
比如,凡是调度、网络、存储,以及安全相关的属性,基本上是Pod 级别的。 这些属性的共同特征是,它们描述的是“机器”这个整体,而不是里面运行的“程序”。比如,配置这个“机器”的网卡(即&#…...

MFC图形函数学习13——在图形界面输出文字
本篇是图形函数学习的最后一篇,相关内容暂告一段落。 在图形界面输出文字,涉及文字字体、大小、颜色、背景、显示等问题,完成这些需要系列函数的支持。下面做简要介绍。 一、输出文本函数 原型:virtual BOOL te…...

【Canvas与雷达】点鼠标可暂停金边蓝屏雷达显示屏
【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>点鼠标可暂停金边蓝屏雷达显示屏 Draft1</title><style typ…...

React第十二节组件之间通讯之发布订阅模式(使用pubsub-js插件)
组件之间通讯常用方案 1、通过props 2、通过context 3、通过发布订阅模式 4、通过Redux 后面会有专栏介绍 1、安装 pubsub-js 插件 yarn add pubsub-js 常用的事件 a、发布事件:传入一个自定义事件名称(name),以及要发布的消息内…...

Vue3安装 运行教程
本文是综合了所有vue安装教程而成 更细化 更简略 希望对各位读者有所帮助! Vue安装 1. Vue-cli脚手架安装 安装vue的方式有很多 我们这里选择npm方式安装vue npm方式 npm方式安装vue,详细介绍见下文。 1.node.js安装和配置 安装npm 需要安装note.js&…...

MySQL:约束constraint
约束就是表中数据的限制条件. 表在设计的时候加入约束的目的是为了保证表中记录的完整性和有效性,如用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复。 主键约束(primary key) PK MySQL主…...

使用Rufus制作Ubuntu需要注意
在使用Rufus制作Ubuntu启动盘并进行BIOS设置时,需要注意以下几点: 关闭RST(英特尔 快速存储技术):在BIOS设置中,如果电脑启用了RST功能,需要将其关闭。因为Ubuntu可能无法检测到硬盘&a…...

探索Go语言的高级特性:性能分析与安全性
Go语言性能分析与安全性 引言 Go语言因其高效的并发特性、简洁的语法和强大的工具链而受到广泛欢迎。在实际开发中,性能分析和安全性是需要特别关注的两个方面。本文将深入探讨Go语言中的性能分析工具和安全性考虑,帮助开发者编写高效、安全的Go应用程…...

SearchSploit配合gcc的使用
渗透测试中,SearchSploit是一个非常有用的工具,用于在Exploit数据库中搜索漏洞利用代码。其使用方法如下: 安装SearchSploit:首先确保你的系统中已经安装了Kali Linux,因为SearchSploit是Kali Linux的一部分。如果没有…...

无人机设计:云台挂载!
一、无人机云台挂载设置 安装与固定 将云台固定到无人机的挂载点上,通常需要使用专用的固定架和螺丝等工具。 确保云台与无人机之间的连接牢固,避免在飞行过程中出现松动或脱落的情况。 连接与调试 将云台与无人机之间的连接线缆(如电源…...

Spring Native适用场景、代理使用及测试部署策略
文章目录 1. Spring Native 适用的应用程序2. 在 Spring Native 中使用代理3. 测试和部署 Spring Native 应用测试部署 1. Spring Native 适用的应用程序 微服务:微服务架构中每个服务都相对独立,快速启动时间和较低的资源消耗对于提高部署效率和服务响…...

LeetCode—11. 盛最多水的容器(中等)
题目描述: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:…...

第一部分:入门准备 1.欢迎来到新手村 --[JavaScript 新手村:开启编程之旅的第一步]
为什么学习 JavaScript? 学习 JavaScript 有多个重要的理由,它在现代 Web 开发中扮演着不可或缺的角色。以下是几个关键原因: 1. 广泛的应用 JavaScript 是唯一可以在浏览器端直接运行的编程语言,几乎所有的网站和Web应用都使用…...

BERT的中文问答系统50
我们将对BERT的中文问答系统48-1代码进行以下改进: 1.增加时间日期和日历功能:在GUI中增加显示当前时间和日期的功能,并提供一个日历组件。 2.增加更多模型类型:增加娱乐、电脑、军事、汽车、植物、科技、历史(朝代、皇帝)、名人、生活(出行、菜品、菜谱、居家),法律、…...

深入解析CMake中的find_package命令:用法、特性及版本依赖问题
深入解析CMake中的find_package命令:用法、特性及版本依赖问题 在现代软件开发中,CMake作为一个强大的构建系统,广泛应用于跨平台项目的管理与编译。find_package是CMake中一个核心命令,用于查找并配置项目所依赖的外部库或包。本…...

【OpenDRIVE_Python】使用python脚本输出OpenDRIVE数据中含有隧道tunnel的道路ID和隧道信息
示例代码说明: 遍历OpenDRIVE数据中每条道路Road,若Road中存在隧道tunnel属性,则将该道路ID和包含的所有隧道信息输出到xml文件中。 import xml.dom.minidom from xml.dom.minidom import parse from xml.dom import Node import sys import os # 读取…...

SIP系列五:HTTP(SIP)鉴权
我的音视频/流媒体开源项目(github) SIP系列目录 目录 一、基本认证(basic) 二、摘要认证(digest) 1、摘要认证(digest) RFC 2069 2、摘要认证(digest) RFC 2617 2.1、未定义qop字段或值为"(空) 2.2、qop值为"auth" 2.3、qop值为"auth-int&quo…...

mysql json整数数组去重 整数数组精确查找并删除相应数据
都是针对整数数组 。低版本可用。懒得去查找资料的可以参考下。 json整数数组查找具体数据修改或者删除: update saas_new_tms.eda_logistics_limit set service_attribute json_remove(service_attribute,json_unquote(json_search(replace(service_attribute,…...

【5G】技术组件 Technology Components
5G的目标设置非常高,不仅在数据速率上要求达到20Gbps,在容量提升上要达到1000倍,还要为诸如大规模物联网(IoT, Internet of Things)和关键通信等新服务提供灵活的平台。这些高目标要求5G网络采用多种新技术…...

数据结构4——栈和队列
目录 1.栈 1.1.栈的概念及结构 1.2栈的实现 2.队列 2.1队列的概念及结构 2.2队列的实现 1.栈 1.1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶,另一端称为…...

PHP SM4 加密
PHP SM4 加密 sm4基类 class Sm4 {private $ck [0x00070e15, 0x1c232a31, 0x383f464d, 0x545b6269,0x70777e85, 0x8c939aa1, 0xa8afb6bd, 0xc4cbd2d9,0xe0e7eef5, 0xfc030a11, 0x181f262d, 0x343b4249,0x50575e65, 0x6c737a81, 0x888f969d, 0xa4abb2b9,0xc0c7ced5, 0xdce3ea…...

leetcode - 2825. Make String a Subsequence Using Cyclic Increments
Description You are given two 0-indexed strings str1 and str2. In an operation, you select a set of indices in str1, and for each index i in the set, increment str1[i] to the next character cyclically. That is ‘a’ becomes ‘b’, ‘b’ becomes ‘c’, an…...

工业—使用Flink处理Kafka中的数据_ChangeRecord1
使用 Flink 消费 Kafka 中 ChangeRecord 主题的数据,当某设备 30 秒状态连续为 “ 预警 ” ,输出预警 信息。当前预警信息输出后,最近30...