Java后端接口编写流程

简介: Java后端接口编写流程


Java后端接口编写流程

Java后端接口编写流程,更具业务逻辑编写Java后端接口,提供给前端访问

实现逻辑流程

  • POJO:实体类编写
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("merchant_mcc")
public class MerchantMcc {
    /**
     * null | merchant_mcc.id | @mbg.generated
     */
    @ApiModelProperty("null")
    @TableId
    private Long id;
    /**
     * MCC字段Code | merchant_mcc.code | @mbg.generated
     */
    @ApiModelProperty("MCC字段Code")
    private String code;
    /**
     * MCC字段Description | merchant_mcc.description | @mbg.generated
     */
    @ApiModelProperty("MCC字段Description")
    private String description;
}

实体类字段的工具类编写:字段常量编写

package com.wei.gen.po;
public class MerchantMccCol {
  public static final String ID = "id";
  public static final String CODE = "code";
  public static final String DESCRIPTION = "description";
}
  • DAO:数据库访问层编写
public interface MerchantMccRepo extends IService<MerchantMcc> {
    /**
     * MCC 根据Code查询Description
     *
     * @param queryWrapper
     * @return
     */
    MerchantMcc selectOne(QueryWrapper<MerchantMcc> queryWrapper);
}
  • 实现类Impl编写
@Slf4j
@Repository
public class MerchantMccRepoImpl extends ServiceImpl<MerchantMccMapper, MerchantMcc> implements MerchantMccRepo {
    private final MerchantMccMapper merchantMccMapper;
    public MerchantMccRepoImpl(MerchantMccMapper merchantMccMapper) {
        this.merchantMccMapper = merchantMccMapper;
    }
    @Override
    public MerchantMcc selectOne(QueryWrapper<MerchantMcc> queryWrapper) {
        return merchantMccMapper.selectOne(queryWrapper);
    }
}

Mapper编写:实现对数据库的操作

@Mapper
public interface MerchantMccMapper extends BaseMapper<MerchantMcc> {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table merchant_mcc
     *
     * @mbg.generated
     */
    MerchantMcc selectByPrimaryKey(Long id);
}

Mapper.xml编写:自定义编写SQL语句,业务逻辑

id属性:指定Mapper.xml文件中的SQL语句对应的Java接口方法名称,这个方法将会执行相应的SQL语句,并返回执行结果

type属性:指定Mapper.xml文件中的Java类对应的实体类名称,这个实体类包含了与SQL语句相对应的属性和方法,用于将执行结果转换为Java对象

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wei.gen.dao.MerchantMccMapper">
</mapper>

Service层:业务逻辑编写

/**
     * MCC 根据Code查询Description
     */
    public String getDescriptionByCode(String code) {
        if (code == null || code.isEmpty()){
            throw new ManageException("Code不能为空");
        }
        MerchantMcc merchantMcc = merchantMccRepo.selectOne(new QueryWrapper<MerchantMcc>().eq("code", code));
        if (merchantMcc == null) {
            throw new ManageException("Code不存在");
        }
        return merchantMcc.getDescription();
    }

Controller层:接口编写

@RestController
@Slf4j
@RequestMapping("common")
public class SystemCommonEndpoint {
    @Resource
    private CommonService commonService;
    /**
     * MCC 根据Code查询Description
     */
    @GetMapping("/search")
    @ApiOperation("MCC根据Code查询Description")
    public Result<String> searchDescription(@RequestParam("code") String code) {
        String description = commonService.getDescriptionByCode(code);
        return Result.succ(description);
    }
}

🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——点赞👍收藏⭐️评论📝


目录
相关文章
|
4月前
|
前端开发 Java API
2025 年 Java 全栈从环境搭建到项目上线实操全流程指南:Java 全栈最新实操指南(2025 版)
本指南涵盖2025年Java全栈开发核心技术,从JDK 21环境搭建、Spring Boot 3.3实战、React前端集成到Docker容器化部署,结合最新特性与实操流程,助力构建高效企业级应用。
1384 1
|
4月前
|
消息中间件 缓存 前端开发
从资损百万到零事故:Java 接口幂等设计的艺术与实践
在分布式系统中,重复请求常引发严重资损,如支付双扣、库存超卖等问题,其根源在于接口缺乏幂等性设计。本文通过真实案例揭示幂等性的重要性,并详解8种主流解决方案,涵盖唯一请求ID、乐观锁、悲观锁、状态机等,帮助开发者构建稳定系统,保障业务一致性。无论你是架构师还是开发工程师,都能从中获得实战指导,有效规避重复调用带来的风险。
329 2
|
4月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
266 8
|
4月前
|
数据采集 JSON Java
Java爬虫获取1688店铺所有商品接口数据实战指南
本文介绍如何使用Java爬虫技术高效获取1688店铺商品信息,涵盖环境搭建、API调用、签名生成及数据抓取全流程,并附完整代码示例,助力市场分析与选品决策。
|
4月前
|
消息中间件 Java 数据库
Java 基于 DDD 分层架构实战从基础到精通最新实操全流程指南
本文详解基于Java的领域驱动设计(DDD)分层架构实战,结合Spring Boot 3.x、Spring Data JPA 3.x等最新技术栈,通过电商订单系统案例展示如何构建清晰、可维护的微服务架构。内容涵盖项目结构设计、各层实现细节及关键技术点,助力开发者掌握DDD在复杂业务系统中的应用。
797 0
|
3月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
154 11
|
2月前
|
Java Go 开发工具
【Java】(9)抽象类、接口、内部的运用与作用分析,枚举类型的使用
抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接 口、枚举)5种成分。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类abstract static不能同时修饰一个方法。
228 1
|
4月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
538 64
|
4月前
|
存储 缓存 安全
Java集合框架(二):Set接口与哈希表原理
本文深入解析Java中Set集合的工作原理及其实现机制,涵盖HashSet、LinkedHashSet和TreeSet三大实现类。从Set接口的特性出发,对比List理解去重机制,并详解哈希表原理、hashCode与equals方法的作用。进一步剖析HashSet的底层HashMap实现、LinkedHashSet的双向链表维护顺序特性,以及TreeSet基于红黑树的排序功能。文章还包含性能对比、自定义对象去重、集合运算实战和线程安全方案,帮助读者全面掌握Set的应用与选择策略。
290 23
|
4月前
|
安全 Java 开发者
Java集合框架:详解Deque接口的栈操作方法全集
理解和掌握这些方法对于实现像浏览器后退功能这样的栈操作来说至关重要,它们能够帮助开发者编写既高效又稳定的应用程序。此外,在多线程环境中想保证线程安全,可以考虑使用ConcurrentLinkedDeque,它是Deque的线程安全版本,尽管它并未直接实现栈操作的方法,但是Deque的接口方法可以相对应地使用。
266 12