微人事——系统管理的基础信息设置

本文详细介绍了基于Position类实现增删改查(CRUD)功能的过程。包括实体类定义、Repository层实现、Service层逻辑及Controller层接口设计,并通过测试验证了功能的正确性。

对Position类进行基本的CURD功能

1、实体类

position数据库
在这里插入图片描述

2、PositionRepository(Dao层)

public interface PositionRepository extends JpaRepository<Position,Integer> {
	//利用Id查找是否存在
    boolean existsById(Integer id);
	//批量删除
	@Modifying  //一般在删除或者修改的时候用  用来标明是一个删除或者修改的标识
    @Transactional
    @Query("delete from  Position where id in (:id)")
    Integer deletePosition(@Param("id") List<Integer> id);
}
  • 在@Query注解中编写JPQL实现DELETE和UPDATE操作时候必须加上@Modifying注解,通知SpringData这是一个delete或者updata操作
  • deletePosition这个方法可以有返回值也可以没有返回值

3、PositionService类

public interface PositionService {
	//增加数据
    public boolean addPosition(Position position);
    //修改数据
    public boolean updatePosition(Position position);
    //删除数据
    public boolean deletePosition(Integer id);
}
@Service
public class PositionServiceImpl implements PositionService {
    @Autowired
    PositionRepository positionRepository;

	//增加数据
    @Override
    public boolean addPosition(Position position) {
        position.setEnabled(true);
        position.setCreatedate(new Date());
        Position position1 = positionRepository.save(position);
        return positionRepository.existsById(position1.getId());
    }
	
	//修改数据
    @Override
    public boolean updatePosition(Position position) {
        String name = position.getName();
        position = positionRepository.findById(position.getId()).get();
        position.setName(name);
        positionRepository.save(position);
        return positionRepository.existsById(position.getId());
    }
	
	//删除数据
    @Override
    public boolean deletePosition(Integer id) {
        positionRepository.deleteById(id);
        return positionRepository.existsById(id);
    }
}

4、PositionController类

@RestController
@RequestMapping("/system/basic/pos")
public class PositionController {

    @Autowired
    PositionRepository positionRepository;
    @Autowired
    PositionService positionService;

	//查询所有
    @GetMapping("/")
    public List<Position> getAllPositions(){
        return positionRepository.findAll();
    }

	//添加数据
    @PostMapping("/")
    public RespBean addPosition(@RequestBody Position position){
        if (positionService.addPosition(position) == true) {
            return RespBean.ok("添加成功!");
        }
        return RespBean.error("添加失败!");
    }

	//修改数据
    @PutMapping("/")
    public RespBean updatePosition(@RequestBody Position position){
        if (positionService.updatePosition(position) == true){
            return RespBean.ok("修改成功!");
        }
        return RespBean.error("修改失败!");
    }

	//删除数据
    @DeleteMapping("/{id}")
    public RespBean deletePositionById(@PathVariable Integer id){
        if (positionService.deletePosition(id) == false){
            return RespBean.ok("删除成功!");
        }
        return RespBean.error("删除失败!");
    }
	
	//批量删除
	 @DeleteMapping("/")
    public RespBean deletePositionsByIds(@RequestBody List<Integer> ids){
        if (positionRepository.deletePosition(ids) == ids.size()) {
            return RespBean.ok("删除成功");
        }
        return RespBean.error("删除失败");
    }

}

5、测试

添加
在这里插入图片描述
在这里插入图片描述

修改
在这里插入图片描述
在这里插入图片描述
删除

在这里插入图片描述
在这里插入图片描述

  @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Position position = (Position) o;
        return Objects.equals(name, position.name);
    }

注意:
因为我在Position类里设置了name字段不可以重复,所以不能添加相同name。

测试批量删除
在这里插入图片描述
在这里插入图片描述

内容概要:本文详细介绍了一种基于Simulink的表贴式永磁同步电机(SPMSM)有限控制集模型预测电流控制(FCS-MPCC)仿真系统。通过构建PMSM数学模型、坐标变换、MPC控制器、SVPWM调制等模块,实现了对电机定子电流的高精度跟踪控制,具备快速动态响应和低稳态误差的特点。文中提供了完整的仿真建模步骤、关键参数设置、核心MATLAB函数代码及仿真结果分析,涵盖转速、电流、转矩和三相电流波形,验证了MPC控制策略在动态性能、稳态精度和抗负载扰动方面的优越性,并提出了参数自整定、加权代价函数、模型预测转矩控制和弱磁扩速等优化方向。; 适合人群:自动化、电气工程及其相关专业本科生、研究生,以及从事电机控制算法研究与仿真的工程技术人员;具备一定的电机原理、自动控制理论和Simulink仿真基础者更佳; 使用场景及目标:①用于永磁同步电机模型预测控制的教学演示、课程设计或毕业设计项目;②作为电机先进控制算法(如MPC、MPTC)的仿真验证平台;③支撑科研中对控制性能优化(如动态响应、抗干扰能力)的研究需求; 阅读建议:建议读者结合Simulink环境动手搭建模型,深入理解各模块间的信号流向与控制逻辑,重点掌握预测模型构建、代价函数设计与开关状态选择机制,并可通过修改电机参数或控制策略进行拓展实验,以增强实践与创新能力。
根据原作 https://pan.quark.cn/s/23d6270309e5 的源码改编 湖北省黄石市2021年中考数学试卷所包含的知识点广泛涉及了中学数学的基础领域,涵盖了实数、科学记数法、分式方程、几何体的三视图、立体几何、概率统计以及代数方程等多个方面。 接下来将对每道试题所关联的知识点进行深入剖析:1. 实数与倒数的定义:该题目旨在检验学生对倒数概念的掌握程度,即一个数a的倒数表达为1/a,因此-7的倒数可表示为-1/7。 2. 科学记数法的运用:科学记数法是一种表示极大或极小数字的方法,其形式为a×10^n,其中1≤|a|<10,n为整数。 此题要求学生运用科学记数法表示一个天文单位的距离,将1.4960亿千米转换为1.4960×10^8千米。 3. 分式方程的求解方法:考察学生解决包含分母的方程的能力,题目要求找出满足方程3/(2x-1)=1的x值,需通过消除分母的方式转化为整式方程进行解答。 4. 三视图的辨认:该题目测试学生对于几何体三视图(主视图、左视图、俯视图)的认识,需要识别出具有两个相同视图而另一个不同的几何体。 5. 立体几何与表面积的计算:题目要求学生计算由直角三角形旋转形成的圆锥的表面积,要求学生对圆锥的底面积和侧面积公式有所了解并加以运用。 6. 统计学的基础概念:题目涉及众数、平均数、极差和中位数的定义,要求学生根据提供的数据信息选择恰当的统计量。 7. 方程的整数解求解:考察学生在实际问题中进行数学建模的能力,通过建立方程来计算在特定条件下帐篷的搭建方案数量。 8. 三角学的实际应用:题目通过在直角三角形中运用三角函数来求解特定线段的长度。 利用正弦定理求解AD的长度是解答该问题的关键。 9. 几何变换的应用:题目要求学生运用三角板的旋转来求解特定点的...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值