2024年Java最全Mockjs模拟接口实现增删改查、分页、多条件查询(1),阿里程序员的Java之路

读者福利

分享一份自己整理好的Java面试手册,还有一些面试题pdf

不要停下自己学习的脚步

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

                console.log("查询条件:"+info.searchKey)

                newArr.push(englishArr[i]);

            }



            //查询条件为空时添加所有数据到新数组

            if (!info.searchKey) {

                newArr.push(englishArr[i]);

            }

        }

    }

    console.log(newArr)

    let page={ list: newArr, pageSize: 2, total: englishArr.length };

    return page;

}

let page={ list: englishArr, pageSize: 2, total: englishArr.length };

return page;

});

//删除英文单词

Mock.mock(“/deleteEnglish”, /post/i, (options)=> {

let english = JSON.parse(options.body).params.english;

for (let i = 0; i < englishArr.length; i++) {

    if (englishArr[i].noid == english.noid) {

        englishArr.splice(i, 1);

    }

}

return 0;

})




**EnglishList.vue**



<div class="container1">

  <div class="left2">

    <left/>

  </div> 

  <div class="right2">

    <div class="top3">

      <top3/>

    </div>

    <div class="main3">

      

      <!--  主体部分开始 -->



      <div class="bread4">

        <el-breadcrumb separator="&gt;">

          <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>

          <el-breadcrumb-item><a href="/">英文单词管理</a></el-breadcrumb-item>

        </el-breadcrumb>

      </div>

      <div class="main4">



        <div class="box-search">

          <div class="input5">

            <el-input type="text" size="mini" v-model="searchInfo.searchKey" @keydown.native.enter="getEnglishList" @clear="getEnglishList" placeholder="英文/中文"></el-input>

          </div>

          <div class="button5">

            <el-button @click="getEnglishList()" size="mini" type="primary" icon="el-icon-search">搜索</el-button>

            <el-button @click="clkBtnAdd()" size="mini" type="warning" icon="el-icon-plus">新增</el-button>

          </div>

        </div>



        <div class="box-table5">

          <el-table :border="true" :data="englishPage.list" style="width: 100%"

          :header-cell-style="{'background-color':'#999','color':'#fff'}">

            <el-table-column  type="index" label="序号" width="80">

            </el-table-column>

            <el-table-column  prop="world" label="英文单词" width="180">

            </el-table-column>

            <el-table-column  prop="chinese" label="中文解释" width="180">

            </el-table-column>

            <el-table-column label="操作" width="180">

                <template slot-scope="scope">

                  <el-button type="warning" size="mini" @click="editInfo(scope.row)">修改</el-button>

                  <el-button type="primary" size="mini" @click="clkBtnDelete(scope.row)">删除</el-button>

                </template>

            </el-table-column>

          </el-table>

        </div>

        <div class="box-page5">

          <el-pagination

                  layout="prev, pager, next" @current-change = "chgPageNum"

                  :page-size="englishPage.pageSize" :total="englishPage.total">

          </el-pagination>

        </div>



        <el-dialog title="保存信息" :visible.sync="showAddEnglish">

          <el-form :model="english" label-width="120px">

            <el-form-item label="英文单词">

              <el-input v-model="english.world" size="mini" placeholder="请输入英文单词"></el-input>

            </el-form-item>

            <el-form-item label="中文解释">

              <el-input v-model="english.chinese" size="mini" placeholder="请输入中文解释"></el-input>

            </el-form-item>

          </el-form>

          <span slot="footer">

            <el-button type="primary" size="mini" @click="clkBtnSave">保存</el-button>

            <el-button type="warning" size="mini" @click="showAddEnglish = false">取消</el-button>

          </span>

        </el-dialog>



      </div>



      <!--  主体部分结束 -->



    </div>

  </div>



</div>
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给您一些指导。 首先,增删和带条件的分页查询是后端开发的基础操作之一,而 Spring 框架提供了很多方便的工具来实现这些操作。下面是一些步骤和代码示例,希望能对您有所帮助。 1. 数据库建表 首先,您需要在数据库中创建相应的表,例如一个名为 user 的用户表,表中包含 id、name、age、gender 等字段。 2. 创建 Entity 类 接下来,您需要创建一个与数据库表对应的实体类,通常称为 Entity 类。该类的属性需要与数据库表中的字段一一对应。例如: ```java @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "name") private String name; @Column(name = "age") private Integer age; @Column(name = "gender") private String gender; // getter/setter 略 } ``` 3. 创建 Repository 接口 接着,您需要创建一个 Repository 接口,用于操作数据库。Repository 接口通常继承 JpaRepository 或 JpaSpecificationExecutor 接口,以便使用 Spring Data JPA 提供的增删和分页查询方法。例如: ```java @Repository public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificationExecutor<User> { } ``` 4. 创建 Service 类 然后,您需要创建一个 Service 类,用于封装业务逻辑。Service 类通常调用 Repository 中的方法来实现具体的操作。例如: ```java @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> findAll() { return userRepository.findAll(); } public void save(User user) { userRepository.save(user); } public void delete(Long id) { userRepository.deleteById(id); } public User findById(Long id) { return userRepository.findById(id).orElse(null); } public Page<User> findByCondition(String name, Integer age, String gender, Pageable pageable) { Specification<User> specification = (root, criteriaQuery, criteriaBuilder) -> { List<Predicate> predicates = new ArrayList<>(); if (StringUtils.isNotBlank(name)) { predicates.add(criteriaBuilder.like(root.get("name"), "%" + name + "%")); } if (age != null) { predicates.add(criteriaBuilder.equal(root.get("age"), age)); } if (StringUtils.isNotBlank(gender)) { predicates.add(criteriaBuilder.equal(root.get("gender"), gender)); } return criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])); }; return userRepository.findAll(specification, pageable); } } ``` 5. 创建 Controller 类 最后,您需要创建一个 Controller 类,用于处理前端请求。Controller 类通常调用 Service 中的方法来实现具体的操作,并将结果以 JSON 格式返回给前端。例如: ```java @RestController @RequestMapping("/api/user") public class UserController { @Autowired private UserService userService; @GetMapping("/") public List<User> findAll() { return userService.findAll(); } @PostMapping("/") public void save(@RequestBody User user) { userService.save(user); } @DeleteMapping("/{id}") public void delete(@PathVariable Long id) { userService.delete(id); } @GetMapping("/{id}") public User findById(@PathVariable Long id) { return userService.findById(id); } @GetMapping("/search") public Page<User> findByCondition(@RequestParam(required = false) String name, @RequestParam(required = false) Integer age, @RequestParam(required = false) String gender, @PageableDefault(size = 10, sort = {"id"}, direction = Sort.Direction.ASC) Pageable pageable) { return userService.findByCondition(name, age, gender, pageable); } } ``` 6. 创建前端页面 在前端页面中,您可以使用 vue 框架来实现用户界面。例如,您可以创建一个 user.vue 组件,包含增删和分页查询等功能。具体实现方式可以参考 vue 官方文档和相关教程。 以上是一个简单的增删和带条件的分页查询实现步骤和代码示例。当然,实际项目中可能会更加复杂,需要根据具体情况进行调整。希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值