1、生成代码结构

以 MVC 结构来分析;
- Model(模型)负责数据管理和业务逻辑处理,对应 entity、mapper、service
- entity(实体类):定义数据结构,和数据库表对应
- mapper(数据访问):实现数据的增、删、改、查
- service (业务逻辑层)调用 mapper获取 / 存储数据,处理完业务后将结果传递给 Controller
- View(视图)负责数据展示,对应前端代码如 vue3 目录
- Controller(控制器)对应controller目录,负责接收前端(View 层)的请求(如用户操作、数据提交),解析参数,调用 Model 层的业务逻辑(service ),最终将处理结果返回给前端(View)
2、entity(实体类)
使用 package 定义包,在类文件的最上面定义
package org.jeecg.modules.demo.laoer.entity;
2.1 注解
主流框架(Spring、MyBatis、Lombok 等)定义了大量注解,用于简化开发,使用时只需按框架规则添加即可
1)Lombok 注解:简化代码的 “语法糖” 工具
- @Data:用于简化实体类的编写,自动为类生成 getter、setter、toString、equals、hashCode 和无参构造等方法,无需手动编写
- @Accessors(chain = true):启用链式调用风格的 setter 方法,设置 chain = true 后,可以通过 对象.setXxx().setYyy() 的方式连续调用 setter 方法
- @EqualsAndHashCode(callSuper = false):生成 equals 和 hashCode 方法,设置 callSuper = false 表示生成的方法不会调用父类的同名方法
2)Swagger 3 (OpenAPI) 注解:OpenAPI 规范的 API 文档生成工具,能自动扫描项目中的接口信息,生成交互式 API 文档(网页形式),支持接口调试、参数说明、返回值展示等,解决前后端接口对接的沟通成本问题。
- @Schema(description=“laoer”):
作用:为实体类添加 API 文档描述
3)MyBatis-Plus注解:简化数据库操作
- @TableName(“laoer”):指定当前实体类对应的数据库表名
- @TableId(type = IdType.ASSIGN_ID):用于标识实体类中的主键字段
4)JsonFormat 注解:Jackson 库提供的注解,用于控制 Java 对象与 JSON 字符串之间转换时的格式(如日期、数字、枚举等)
- @JsonFormat(timezone = “GMT+8”,pattern = “yyyy-MM-dd HH:mm:ss”):用于设置日期时间类型字段的JSON序列化格式
5)Spring 企业级 Java 开发核心框架注解
- @DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”):用于设置日期时间类型字段的字符串反序列化格式
当从前端接收日期时间字符串时,会按照指定格式解析为Date对象
6)JeecgBoot框架中的POI导出工具
- @Excel(name = “劳尔”, width = 15):用于设置Excel导出时该字段的列名和宽度
2.2 字段
entity 中的变量 对应 数据库中的字段
private java.lang.String id;
private java.lang.String createBy;
private java.util.Date createTime;
private java.lang.String updateBy;
private java.util.Date updateTime;
private java.lang.String sysOrgCode;
private java.lang.String laoer;
3、mapper
mapper 很简单使用继承自 泛型接口 BaseMapper<T>,并没有增加新的接口
public interface LaoerMapper extends BaseMapper<Laoer> {}
BaseMapper接口实现对数据库的基本操作,例如:deleteById、updateById、selectById、insert 等
4、service
service 只是简单的继承了 mybatisplus 的接口 IService 和 ServiceImpl
public interface ILaoerService extends IService<Laoer> {}
public class LaoerServiceImpl extends ServiceImpl<LaoerMapper, Laoer> implements ILaoerService {}
5、controller
负责接收前端(View 层)的请求
1)常用的注解
-
@Tag(name=“laoer”): API 文档的分类和说明。
给当前 Controller 中的所有接口添加一个标签(名称为laoer),在自动生成的 API 文档(如 Swagger UI)中,该 Controller 的所有接口会被归类到laoer标签下,方便前端开发者或测试人员快速定位和理解接口用途。 -
@RestController:Spring MVC 框架的核心注解。
声明当前类是一个REST 风格的控制器,等价于@Controller + @ResponseBody的组合: -
@Controller:标记该类为 Spring MVC 的控制器,负责接收和处理 HTTP 请求。
-
@ResponseBody:自动将控制器方法的返回值转换为 JSON(或其他指定格式)响应体,无需额外配置视图解析器,适合前后端分离场景(直接返回数据给前端)。
-
@RequestMapping(“/laoer/laoer”) Spring MVC 框架的请求映射注解。定义当前 Controller 处理的基础请求路径。
例如:如果该类中有一个方法添加了- @GetMapping(“/list”),则该方法的完整访问路径为:/laoer/laoer/list;
- @PostMapping(“/add”),则完整路径为/laoer/laoer/add。
-
@Slf4j:Lombok 工具类库的注解。
自动为当前类生成一个log日志对象(基于 SLF4J 规范),无需手动编写private static final Logger log = LoggerFactory.getLogger(当前类名.class);。
生成后可以直接在类中使用log.info(“操作日志”)、log.error(“错误日志”)等方法打印日志,简化日志代码的编写。 -
@Operation(summary=“laoer-分页列表查询”):用于 API 文档生成
-
@GetMapping(value = “/list”):Spring MVC 框架的请求映射注解
-
@AutoLog(value = “laoer-添加”)JeecgBoot 框架自定义的日志注解(基于 AOP 实现)
-
@RequiresPermissions(“laoer:laoer:add”):JeecgBoot 集成的权限控制注解(基于 Shiro 或 Spring Security)指定访问该接口需要的权限标识(laoer:laoer:add)。若用户未拥有该权限,请求会被拦截并返回 403 错误。
-
@PostMapping(value = “/add”):Spring MVC 注解,指定该方法处理POST 请求,路径为/add,用于新增资源(如添加一条记录),符合 RESTful 规范
-
@RequestMapping(value = “/edit”, method = {RequestMethod.PUT, RequestMethod.POST}):指定该方法处理/edit路径的PUT 或 POST 请求,通常用于更新资源
-
@DeleteMapping(value = “/delete”):处理/delete路径的DELETE 请求,用于删除单个资源
-
@GetMapping(value = “/queryById”):处理/queryById路径的 GET 请求,用于根据 ID 查询单个资源(如查询一条记录的详情)
-
@DeleteMapping(value = “/deleteBatch”):处理/deleteBatch路径的 DELETE 请求,用于批量删除资源(如删除多条记录)
2)方法
- queryPageList:分页列表查询
- add:添加一行
- edit:编辑
- delete:通过ID删除一行
- deleteBatch:批量删除
- queryById:通过id查询
- exportXls:导出 Excel 表
- importExcel:导入 Excel 表
3744

被折叠的 条评论
为什么被折叠?



