当前位置: 首页 > ai >正文

微博项目(总体搭建)

1.在resources里面新建一个mappers包,包里面放xml文件
2.在application.properties里面配置数据库和knif4j的链接
spring.application.name=工程名字
server.port=8080spring.datasource.url=数据库链接
spring.datasource.username=数据库用户名
spring.datasource.password=数据库密码mybatis.mapper-locations=classpath:在resources里面新建的包的名字/*.xmlmybatis.configuration.nullable-on-for-each=true#让数据库的字段和idea里的字段一一映射logging.level.root=info
logging.level.cn.tedu._04weibo=debug
# 启用Knife4j增强功能
knife4j.enable=true# # 分组配置
# 定义 API 分组的名称(组标识符)
springdoc.group-configs[0].group=default
# 指定该分组包含哪些路径的接口
springdoc.group-configs[0].paths-to-match=/**
# 明确扫描的控制器包路径
springdoc.group-configs[0].packages-to-scan=工程中的controller包的路径


3.创建一个base的包,包里创建一个config的包,在里面创建一个类名为MybatisConfig

package cn.tedu._04weibo.base.config;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;@Configuration
@MapperScan("cn.tedu._04weibo.mapper")
public class MybatisConfig {
}4.在base包里创建一个response的包,包里创建两个类,分别是JsonResult和StatusCode
package cn.tedu._04weibo.base.response;import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class JsonResult {private Integer status;private String message;private Object data;public JsonResult(StatusCode statusCode) {this.status=statusCode.getStatus();this.message=statusCode.getMessage();}public JsonResult(StatusCode statusCode, Object data) {this.status=statusCode.getStatus();this.message=statusCode.getMessage();this.data = data;}public static JsonResult ok(Object data){return  new JsonResult(StatusCode.OPERATION_SUCCESS,data);}public static JsonResult ok(){return ok(null);}
}
package cn.tedu._04weibo.base.response;import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;@Getter
@AllArgsConstructor
@NoArgsConstructor
public enum StatusCode {OPERATION_SUCCESS(2001,"操作成功"),OPERATION_FAILED(2002,"操作失败"),USERNAME_EXIST(1002,"用户名被占用"),USERNAME_PASSWORD_ERROR(1001,"用户名或密码错误"),NOT_LOGIN(1000,"未登录"),VALIDATED_ERROR(6000,"参数校验失败");private Integer status;private String message;
}5.在base包里建一个exception的包,里面建一个GlobalExceptionHandler类,用来装非封装和封装参数处理异常package cn.tedu._05article.base.exception;import cn.tedu._05article.base.response.JsonResult;
import cn.tedu._05article.base.response.StatusCode;
import jakarta.validation.ConstraintViolationException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;import javax.swing.text.Style;@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {//非封装参数异常处理@ExceptionHandlerpublic JsonResult doHandlerConstraintViolationException(ConstraintViolationException ex){String data=ex.getMessage().split(":")[1].trim();log.error("ConstraintViolationException = "+data);return new JsonResult(StatusCode.VALIDATED_ERROR,data);}//封装参数异常处理@ExceptionHandlerpublic JsonResult doHandlerMethodArgumentNotValidException(MethodArgumentNotValidException ex){String data=ex.getFieldError().getDefaultMessage();log.error("MethodArgumentNotValidException = "+data);return  new JsonResult(StatusCode.VALIDATED_ERROR,data);}
}6.在工程里新建controller 、 mapper 、 pojo的包,pojo里面有三个包dto、entity、vo
http://www.xdnf.cn/news/14163.html

相关文章:

  • Javascript什么是原型和原型链,八股文
  • java面试总结-20250609
  • 数据结构 学习 图 2025年6月14日 12点57分
  • spring如何处理bean的循环依赖
  • NuttX 调度器源码学习
  • 吃透 Golang 基础:方法
  • 湖南源点(市场研究)咨询 DNF下沉市场用户研究项目之调研后感
  • 03、继承与多态
  • 使用C/C++的OpenCV 构建人脸识别并自动抓拍系统
  • 使用DuckDB查询DeepSeek历史对话
  • AI首次自主发现人工生命
  • C++编程语言
  • Spring Cloud 原生中间件
  • Linux免驱使用PCAN,使用方法以Ubuntu为例
  • Java基础复习之static
  • Dify动手实践教程1
  • Day 49 训练
  • 1.4、SDH网状拓扑
  • 5、ZYNQ PL 点灯--流水灯
  • 深入解析JVM类加载机制
  • 人工智能学习22-Pandas
  • Java大模型开发入门 (7/15):让AI拥有记忆 - 使用LangChain4j实现多轮对话
  • 【Linux知识】curl命令行从入门到进阶实战
  • Visual studio 中 使用QT插件 编辑UI文件打开 Qt Designer 报错 问题解决方案
  • 威科达VE运动控制器:工业自动化核心,高效精准掌控每一环节
  • 示例-100以内的偶数和奇数求和
  • 8088单板机8259中断的软件触发测试
  • day 51 python打卡
  • GO语言---defer关键字
  • 借助nginx实现自动获取本机IP