express实现批量删除和分页

简介: 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语句其实性能值非常低的,怎么去优化。

遇见问题,这是你成长的机会,如果你能够解决,这就是收获。

相关文章
|
存储 JavaScript 前端开发
Vue+Express+Mysql全栈项目之增删改查、分页排序导出表格功能
Vue+Express+Mysql全栈项目之增删改查、分页排序导出表格功能
213 0
express学习38-多人管理30数据分页
express学习38-多人管理30数据分页
93 0
express学习38-多人管理30数据分页
express学习40-多人管理31数据分页2
express学习40-多人管理31数据分页2
97 0
express学习40-多人管理31数据分页2
|
1月前
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
1月前
|
开发框架 JavaScript 前端开发
使用 Node.js 和 Express 构建 Web 应用
【10月更文挑战第2天】使用 Node.js 和 Express 构建 Web 应用
|
22天前
|
JavaScript 中间件 关系型数据库
构建高效的后端服务:Node.js 与 Express 的实践指南
在后端开发领域,Node.js 与 Express 的组合因其轻量级和高效性而广受欢迎。本文将深入探讨如何利用这一组合构建高性能的后端服务。我们将从 Node.js 的事件驱动和非阻塞 I/O 模型出发,解释其如何优化网络请求处理。接着,通过 Express 框架的简洁 API,展示如何快速搭建 RESTful API。文章还将涉及中间件的使用,以及如何结合 MySQL 数据库进行数据操作。最后,我们将讨论性能优化技巧,包括异步编程模式和缓存策略,以确保服务的稳定性和扩展性。
|
29天前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的完美结合
【10月更文挑战第21天】本文将引导你走进Node.js和Express框架的世界,探索它们如何共同打造一个高效、可扩展的后端服务。通过深入浅出的解释和实际代码示例,我们将一起理解这一组合的魅力所在,并学习如何利用它们来构建现代Web应用。
48 1
|
17天前
|
Web App开发 JavaScript 前端开发
探索后端开发:Node.js与Express的完美结合
【10月更文挑战第33天】本文将带领读者深入了解Node.js和Express的强强联手,通过实际案例揭示它们如何简化后端开发流程,提升应用性能。我们将一起探索这两个技术的核心概念、优势以及它们如何共同作用于现代Web开发中。准备好,让我们一起开启这场技术之旅!
32 0
|
17天前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实践
【10月更文挑战第33天】在数字化时代的浪潮中,后端服务的效率和可靠性成为企业竞争的关键。本文将深入探讨如何利用Node.js和Express框架构建高效且易于维护的后端服务。通过实践案例和代码示例,我们将揭示这一组合如何简化开发流程、优化性能,并提升用户体验。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
18天前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的融合之道
【10月更文挑战第31天】在追求快速、灵活和高效的后端开发领域,Node.js与Express框架的结合如同咖啡遇见了奶油——完美融合。本文将带你探索这一组合如何让后端服务搭建变得既轻松又充满乐趣,同时确保你的应用能够以光速运行。
24 0