欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 黑马管理系统综合案例(springboot)

黑马管理系统综合案例(springboot)

2025/7/8 3:23:40 来源:https://blog.csdn.net/2302_80729149/article/details/145980242  浏览:    关键词:黑马管理系统综合案例(springboot)

基础环境搭建

image-20250221114947965

构成

image-20250221164201042

pojo提供数据类型


三层框架

首先是控制层controller,负责处理http请求,调用dervice返回数据

例如,DeptController.java

@Slf4j
@RestController
public class DeptController {@Autowiredprivate DeptService deptService;//@RequestMapping(value = "/depts" , method = RequestMethod.GET)@GetMapping("/depts")public Result list(){log.info("查询所有部门数据");List<Dept> deptList = deptService.list();return Result.success(deptList);}@DeleteMapping("/depts/{id}")public Result delete(@PathVariable Integer id){log.info("根据id删除部门:{}",id);deptService.delete(id);return Result.success();}
}

这是控制层的部门部分,定义了方法,路径,使用deptservice方法去获取员工数据,下面转到deptservice文件

public interface DeptService {/*** 查询所有的部门数据* @return   存储Dept对象的集合*/List<Dept> list();void delete(Integer id);
}

deptservice接口里面使用list方法去获取了数据

那么这个list方法的实现在deptservicelmpl.java文件里面,移步到该文件,定义了list方法和delete方法

public class DeptServicelmpl implements DeptService {//集成deptservice接口@Autowiredprivate DeptMapper deptMapper;@Override//这里定义list方法,返回该数据public List<Dept> list() {List<Dept> deptList = deptMapper.list();return deptList;}@Overridepublic void delete(Integer id){deptMapper.deleteById(id);}
}

然后方法里的deptMapper.list()又调用了deptMapper里面的方法,将数据库返回的数据相应到了list里边,

至此整个数据的响应完成

条件筛选查询

首先在enpcontroler里面配置好查询筛选参数

public Result page(@RequestParam(defaultValue = "1") Integer page,@RequestParam(defaultValue = "10") Integer pageSize,String name, short gender,@DateTimeFormat(pattern = "yyyy-MM-dd")LocalDate begin,@DateTimeFormat(pattern = "yyyy-MM-dd")LocalDate end){//输入日志log.info("分页查询参数{},{},{},{},{},{}",page,pageSize,name,gender,begin,end);//调用empservce方法返回参数PageBean pageBean=empService.page(page,pageSize,name,gender,begin,end);return Result.success(pageBean);}

然后再page里面实现

接口声明方法

public interface EmpService {//接口里边声明方法PageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin, LocalDate end);
}

然后实现方法

    public PageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin, LocalDate end) {// 设置分页参数PageHelper.startPage(page, pageSize);// 执行查询List<Emp> empList = empMapper.list(name, gender, begin, end);// 获取Page对象
//    Page<Emp> p = (Page<Emp>) empList;Page<Emp> newPage = new Page<>();newPage.addAll(empList);newPage.setTotal(empList.size());// 封装到pageBean中PageBean pageBean = new PageBean(newPage.getTotal(), newPage.getResult());return pageBean;
}

关于list的查询语句

使用EmpMapper进行映射

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.mapper.EmpMapper"><select id="list" resultType="com.itheima.pojo.Emp">select *from emp<where><if test="name!=null ">name like concat('%',#{name},'%')</if><if test="gender!=null">and gender=#{gender}</if><if test="begin!=null and end != null">and entrydate between #{begin} and #{end}</if></where>order by update_time desc</select>
</mapper>

这里我运行的时候会报一个错

image-20250223214647806

这是我原来的page方法

public PageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin, LocalDate end) {// 设置分页参数PageHelper.startPage(page, pageSize);// 执行查询List<Emp> empList = empMapper.list(name, gender, begin, end);// 获取Page对象Page<Emp> p = (Page<Emp>) empList;// 封装到pageBean中PageBean pageBean = new PageBean(p.getTotal(), p.getResult());return pageBean;}

更改后的page方法

public PageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin, LocalDate end) {// 设置分页参数PageHelper.startPage(page, pageSize);// 执行查询List<Emp> empList = empMapper.list(name, gender, begin, end);// 获取Page对象Page<Emp> page_result = new Page<>();page_result.addAll(empList);page_result.setTotal(empList.size()); // 设置总记录数// 封装到pageBean中PageBean pageBean = new PageBean(page_result.getTotal(), page_result.getResult());return pageBean;}

from表单,图片上传功能

image-20250225152742962

文件上传,如果文件为图片,那么必须带上enctype="multipart/form-data"


UUID(Universally Unique Identifier)是一种标准的128位标识符,通常用于唯一标识信息。在Java中,UUID 可以用于生成唯一的ID,例如在创建新记录时为实体生成唯一的标识符

image-20250225154246653

这个设置在resouces中的application.properties中设置

SDK

SDK(Software Development Kit)是一组工具、库和文档,用于帮助开发者更方便地开发、集成和部署软件应用。SDK 提供了预定义的接口和功能,使得开发者可以快速构建应用程序而无需从头开始编写所有代码。

springboot配置文件

总结来说,该项目的文件功能过于分散,不便于维护以及集中管理

参数配置化

那么对于阿里云的配置文件,可以直接放到springboot配置文件中的application中,java提供了value注解,通常用于外部配置的属性注入,具体用法为:@value(“${配置文件中的key}”) – 参数配置化

image-20250225191304706

yml配置文件

image-20250225191746606

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词