Spring Boot 下 web 项目的 CURD (结合 SSM )

前言
  1. Spring Boot 作为一个框架,其目的是为了减少开发中对于 xml,依赖等的手动配置,使得开发者有更多的精力放在业务逻辑处理上
  2. Spring Boot 框架是将经常使用到的依赖在创建启动器的时候就已经默认添加,但是一些非常用的依赖则仍然需要手动添加
  3. 对于 xml 配置文件,则采用了 Java 配置的方式,Spring Boot 框架中提供了注解 @Configuration 来声明一个 Java 类为注解类
  4. 这篇博主要是 Spring Boot 框架下,对于 CURD 的一个示例
准备
  1. 创建一个 Maven 项目,加入 Spring Boot 的依赖父工程,导入 Spring Boot web 启动器,从而构建一个 web 项目的框架
  2. 继续增加项目需要的非常用依赖:
    1. lombok:@Data 和 @Slf4j
    2. 数据库驱动:指定具体数据库(MySQL,Orcale等)
    3. 通用Mapper(内置 Mybatis 与追光者数据库连接池 依赖):动态生成单表简单查询,若多表则不适用
  3. 创建 web,service,mapper,interceptor,pojo,config 等逻辑分层包
  4. 创建 application.yaml 属性配置文件
示例
  1. 目录结构
    在这里插入图片描述
  2. 全部代码位置:https://download.csdn.net/download/qq_36654606/10975972
要点
  1. 启动类:需要增加Mapper的扫描地址
  2. Web 层:@RequestMapping 用法 (设置映射路径)
  3. Service 层:@Service 注解
  4. POJO 层:
    1. 映射数据库表(默认是类名同名表)
    2. 设置主键,自增长属性,非SQL字段属性等
    3. 需要与数据库表中属性对应,否则自动生成 SQL 语句就会出差错
  5. Mapper 层:继承自通用 Mapper
    1. pom.xml 内需要依赖 Mapper
    2. 与 Mapper 的包改为通用依赖下的包
  6. interceptor 层:@Slf4j 写日志
  7. config 层:对拦截器进行配置
  8. application.yaml 文件:
    1. 通用 Mapper 会自动调用此文件内数据库连接池需要的账号密码等信息,无需再使用 Java 配置
    2. 名字为固定写法,否则 Spring 无法识别为默认
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用Spring Boot进行CURD操作的示例: @Entity @Table(name = "employee") public class Employee { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @NotNull private String name; @NotNull private String email; public Employee() {} public Employee(String name, String email) { this.name = name; this.email = email; } // getters and setters } @Repository public interface EmployeeRepository extends JpaRepository<Employee, Long> {} @Service public class EmployeeService { @Autowired private EmployeeRepository employeeRepository; public List<Employee> getAllEmployees() { return employeeRepository.findAll(); } public Employee getEmployeeById(Long id) { return employeeRepository.findById(id).orElse(null); } public Employee addEmployee(Employee employee) { return employeeRepository.save(employee); } public Employee updateEmployee(Employee employee) { Employee existingEmployee = employeeRepository.findById(employee.getId()).orElse(null); if (existingEmployee != null) { existingEmployee.setName(employee.getName()); existingEmployee.setEmail(employee.getEmail()); return employeeRepository.save(existingEmployee); } return null; } public void deleteEmployee(Long id) { employeeRepository.deleteById(id); } } @RestController @RequestMapping("/api") public class EmployeeController { @Autowired private EmployeeService employeeService; @GetMapping("/employees") public List<Employee> getAllEmployees() { return employeeService.getAllEmployees(); } @GetMapping("/employees/{id}") public Employee getEmployeeById(@PathVariable Long id) { return employeeService.getEmployeeById(id); } @PostMapping("/employees") public Employee addEmployee(@RequestBody Employee employee) { return employeeService.addEmployee(employee); } @PutMapping("/employees/{id}") public Employee updateEmployee(@RequestBody Employee employee, @PathVariable Long id) { employee.setId(id); return employeeService.updateEmployee(employee); } @DeleteMapping("/employees/{id}") public void deleteEmployee(@PathVariable Long id) { employeeService.deleteEmployee(id); } } 在这个示例中,我们定义了一个Employee实体类,一个EmployeeRepository接口来操作数据库,一个EmployeeService类来实现业务逻辑,并在EmployeeController中暴露了RESTful API来处理HTTP请求。您可以根据您的需求修改这个示例,例如更改实体类的属性或更改API的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值