express实现批量删除和分页
后端代码批量删除
// 批量删除
router.get('/manyDel', function (req, res) {
let { ids } = req.query
if (ids&&ids.length>0) { //如果用户的值为空,不执行下面的
const sqlStr = `delete from account where id in (${ids})`
// 打印出你的sql语句,如果报错了,可以把下面的语句放在mysql中去执行一下,目的检测sql语句是否正确
console.log('sqlStr',sqlStr)
connection.query(sqlStr, (err, data) => {
if (err) {
res.send({
code: 1,
msg:'批量删除失败'
});
throw err
} else {
//这个判断是否删除成功,因为有可能没有这个id的
if (data.affectedRows>0) {
res.send({
code: 0,
msg:'批量删除成功'
});
} else {
res.send({
code: 1,
msg:'批量删除失败'
});
}
}
})
} else {
res.send({
code: 1,
msg:'请选择'
});
}
})
前端批量删除代码
sendApi5() {
axios.get('http://127.0.0.1:666/accounts/manyDel', { params: { ids: [] } }).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});
}
后端分页查询
// 分页查询
router.get('/fenye', function (req, res) {
let { pageSize, currentPage } = req.query;
pageSize = pageSize ? pageSize : 5;
currentPage = currentPage ? currentPage : 1;
let sqlStr = `select * from account order by ctime desc`;
connection.query(sqlStr, (err, data) => {
if (err) {
res.send({
code: 1,
msg:'分页查询失败'
});
throw err
} else {
let total = data.length;
// 分页条件
let n = (currentPage - 1) * pageSize
// 然后在拼接Sql语句, 逃过多少条,输出多少条,注意这里前面有一个空格,否者会报错SQL;
// 在Sql报错的时候,你可以看控制台的报错信息
sqlStr += ` limit ${n}, ${pageSize}`;
// 在输出条件后的Sql语句
connection.query(sqlStr, (e, d) =>{
if (e) {
res.send({
code: 1,
msg:'分页查询失败',
total:0
});
throw e
} else {
res.send({
code: 0,
data:d,
total:total
});
}
})
}
})
})
前端分页代码
sendApi6() {
axios.get('http://127.0.0.1:666/accounts/fenye', {
params: {
pageSize:5, currentPage:1
} }).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});
}
我发现的问题
1. 如何高效去处判断前端是否把必须传递的参数传递过来了。
现在写的代码中,都没有去判断参数的正确性,直接进行执行了SQL语句,这样是不正确的。
2.返回体应该进行统一的封装,而不是在请求的时候像现在这样去写重复代码。
3.我现在在执行 select * from account 这样的SQL语句其实性能值非常低的,怎么去优化。
express实现批量删除和分页的更多相关文章
- Magicodes.WeiChat——ASP.NET Scaffolding生成增删改查、分页、搜索、删除确认、批量操作、批量删除等业务代码
关于T4代码生成这块,我之前写过几篇帖子,如:<Magicodes.NET框架之路——让代码再飞一会(ASP.NET Scaffolding)>(http://www.cnblogs.co ...
- JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能
1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建data ...
- stark组件的分页,模糊查询,批量删除
1.分页组件高阶 2.整合展示数据showlist类 3.stark组件之分页 3.stark组件之search模糊查询 4.action批量处理数据 4.总结 1.分页组件高阶 1.分页的class ...
- JavaWeb实战:基础CRUD+批量删除+分页+条件
技术栈及相关参考资料: MyBatis基础 Servlet基础 ServletRequest和ServletResponse MVC模式和三层架构 AJAX基础+Axios基础 Vue前端框架 Ele ...
- 基于EasyCode定制Mybatisplus全自动单表实现:新增/批量新增/修改/批量删除/分页查询/ID查询
基于EasyCode定制Mybatisplus全自动单表实现CRUD接口 分页查询 ID查询 新增 批量新增 修改 批量删除 注意使用了MybatisPlus的自动填充功能,和insertBatchS ...
- mteclipse中运行的分页,搜索,列表批量删除的界面,它的源代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?
本文是记录Java中实现批量删除操作(Java对数据库进行事务处理),在开始之前先来看下面这样的一个页面图: 上面这张图片显示的是从数据库中查询出的出租信息,信息中进行了分页处理,然后每行的前面提 ...
- Redis批量删除KEY的方法
Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作. 代码如下: redis-cli keys “* ...
- EasyUI-DataGrid之批量删除
简单介绍一下,涉及到的几个知识点: 1.checkbox,多选 2.前台到后台传值,我用的是字符串拼接,到了后台在拆分的方式 3.批量删除的底层实现 效果图 前台view <table id=& ...
- 实例:SSH结合Easyui实现Datagrid的批量删除功能
在我先前的基础上面添加批量删除功能.实现的效果如下 删除成功 通常情况下删除不应该真正删除,而是应该有一个标志flag,但flag=true表示状态可见,但flag=false表示状态不可见,为删除状 ...
随机推荐
- APP违法使用个人信息?不用怕,华为云VSS为你保驾护航
摘要:华为云VSS漏洞扫描服务移动应用安全检测,为华为云客户提供移动应用的合规检测能力,遵循工信部164号文要求,针对安卓(apk)和鸿蒙(hap)应用进行安全和隐私合规问题检测. 本文分享自华为云社 ...
- 火山引擎 ByteHouse:如何提升 18000 节点的 ClickHouse 可用性?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 ClickHouse 是业内被广泛使用的 OLAP 引擎.当集群规模过大时,ClickHouse 则面临使用局限性 ...
- playwright codegen 录制生成
Generating tests playwright codegen odegen在浏览器中运行并执行操作.Playwright 将为用户交互生成代码.Codegen将查看呈现的页面并找出推荐的定位 ...
- 在低代码开发平台 ILLA Cloud 中使用 Hugging Face 上的模型
ILLA Cloud 是一个面向开发者的开源低代码开发平台,平台专注于帮助开发者快速建立企业内部应用,为开发者节约数据调用与页面设计的时间.平台具有面向开发者.数据整合.协同开发.灵活部署等功能与特点 ...
- 阿里云视频云人脸生成领域最新研究成果入选CVPR2022
CVPR(IEEE Conference on Computer Vision and Pattern Recognition)作为计算机视觉和模式识别领域的顶级会议,在全球具有极高的权威性.目前在中 ...
- 【每日一题】14.Accumulation Degree(树形DP + 二次扫描)
补题链接:Here 一个树形水系,有 \(n\) 个结点,根结点称为源点,叶子结点称为汇点,每条边都有水量限制$C(x,y) \((\)x,y$ 为这条边的两个端点),源点单位时间流出的水量称为整个水 ...
- AtCoder Beginner Contest 175 (AB水,C数学,D思维+前缀和处理+进价思考,E方阵+条件DP,F新回文字符串处理 GJ)
补题链接:Here A - Rainy Season 如果不是 RSR 型的话直接计算 R 的数量即可 B - Making Triangle 给定 \(N\) 根长度分别为 \(L_i\) 的棍子, ...
- 图扑数字孪生智慧机场,助推民航"四型机场"建设
前言 民航局印发的<智慧民航建设路线图>文件中,明确提出智慧机场是智慧民航的四个核心抓手之一.并从机场全域协同运行.作业与服务智能化.智慧建造与运维方面,为智慧机场的发展绘制了清晰的蓝图. ...
- java bean和String之间相互转化
开发中有的表字段特别多,在数据传递过程中要写很多类似实体类的get.set方法把字符串型的数据放到对象里然后,在做存储之类的操作,如果实体的字段少不会觉得多麻烦,但是字段如果有几十个或者更多那么这种简 ...
- 三、mycat实验数据
系列导航 一.Mycat实战---为什么要用mycat 二.Mycat安装 三.mycat实验数据 四.mycat垂直分库 五.mycat水平分库 六.mycat全局自增 七.mycat-ER分片 最 ...