参考的 Spring 入门 CURD 代码和 Ruoyi Vue Read 代码的补充,用于完善后端单表 User 的 CURD 功能

文章介绍了如何在Spring框架下实现用户CRUD操作,包括添加分页功能,以及在RuoyiVue中调用API获取和删除用户的方法,涉及前端确认对话框的使用。

1、Spring 入门 CURD 代码:
首先,按照上述步骤创建 User 实体类、UserRepository 接口和 UserController 类。接下来,可以继续完善 UserController 类中的其他 CRUD 方法。

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserRepository userRepository;

    // 省略已有的 GET、POST 和 PUT 方法

    @GetMapping("/")
    public List<User> getAllUsers() {
        return userRepository.findAll();
    }

    // 添加分页功能
    @GetMapping("/page")
    public Page<User> getUsersByPage(@PageableDefault(size = 10, sort = {"id"}, direction = Sort.Direction.DESC) Pageable pageable) {
        return userRepository.findAll(pageable);
    }

    @DeleteMapping("/{id}")
    public ResponseEntity<?> deleteUser(@PathVariable(value = "id") Long userId) {
        User user = userRepository.findById(userId)
                .orElseThrow(() -> new ResourceNotFoundException("User not found with id: " + userId));

        userRepository.delete(user);
        return ResponseEntity.ok().build();
    }
}

这里添加了 getUsersByPage() 方法,用于按照分页获取用户信息。在删除用户时,返回 ResponseEntity 对象,可以在响应中添加一些附加信息。

2、Ruoyi Vue Read 代码:

首先,在 api/user.js 中添加与用户相关的 API 请求方法:

import request from '@/utils/request'

// 获取用户列表(分页)
export function getUsers(page, size) {
  return request({
    url: '/users/page',
    method: 'get',
    params: { page, size }
  })
}

// 删除用户
export function deleteUser(id) {
  return request({
    url: '/users/' + id,
    method: 'delete'
  })
}

接下来,在 views/user/index.vue 中的代码继续完善用户列表的展示和删除功能:

<template>
  <!-- 省略其他代码 -->
  
  <el-row>
    <el-button type="danger" size="small" @click="deleteUser(row.id)">删除</el-button>
  </el-row>
  
  <!-- 省略其他代码 -->
</template>

<script>
import { getUsers, deleteUser } from '@/api/user'

export default {
  // 省略其他代码
  methods: {
    // 省略其他方法

    // 删除用户
    deleteUser(id) {
      this.$confirm('确认删除该用户吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteUser(id).then(() => {
          this.$message.success('删除成功')
          // 刷新用户列表
          this.getUsers()
        })
      }).catch(() => {
        this.$message.info('已取消删除')
      })
    }
  }
}
</script>

这样,当用户点击删除按钮时会弹出确认对话框,点击确定后发起删除用户的请求,并刷新用户列表。

上述代码示例只是一个简单的参考,逻辑与具体需求和代码结构可能有所不同。你可以根据实际情况进行调整和补充相关代码。

### RuoYi Vue 中 MyBatis-Plus 的集成与使用 #### 一、MyBatis-Plus 在 RuoYi Vue 中的作用 RuoYi Vue 是一个基于 Spring Boot MyBatis Plus 构建的快速开发平台,其中 MyBatis-Plus 提供了强大的 ORM 功能支持。通过封装 BaseMapperX 接口并继承 MyBatis Plus 原生的 `BaseMapper` 接口,增强了 CRUD 操作的能力[^1]。 #### 二、集成步骤 以下是 RuoYi Vue 集成 MyBatis-Plus 的主要过程: ##### 1. 添加依赖 在项目的 `pom.xml` 文件中引入 MyBatis-Plus 的 Maven 依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` ##### 2. 数据源配置 编辑 `application.yml` 或者 `application.properties` 文件完成数据源的相关设置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username: root password: your_password driver-class-name: com.mysql.cj.jdbc.Driver mybatis-plus: mapper-locations: classpath:/mapper/*Mapper.xml type-aliases-package: com.ruoyi.project.system.domain ``` ##### 3. 创建实体类 定义数据库对应的 Java 实体类,并标注必要的字段映射关系。例如: ```java @Data public class SysUser { private Long userId; private String userName; private String nickName; } ``` ##### 4. 定义 Mapper 接口 创建继承自 `BaseMapper<T>` 的接口文件用于操作对应的数据。例如: ```java @Mapper public interface SysUserMapper extends BaseMapper<SysUser> {} ``` ##### 5. 编写 Service 层逻辑 编写业务服务层实现对 DAO 层方法调用的具体处理逻辑。通常会借助于 MyBatis-Plus 自带的服务抽象工具简化编码复杂度。 ```java @Service public class SysUserService { @Autowired private SysUserMapper sysUserMapper; public List<SysUser> getAllUsers() { QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>(); return sysUserMapper.selectList(queryWrapper); } } ``` #### 三、增强功能说明 除了基础的 CURD 方法外,还可以利用插件机制进一步提升效率。比如分页查询可以通过 PageHelper 插入到全局拦截链路里自动生效;而乐观锁则需开启相应注解即可启用事务控制等功能特性。 #### 四、总结 综上所述,在实际应用过程中只需要按照上述几个方面依次实施就能顺利完成整个系统的搭建部署工作流程[^2]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值