java前后端项目问题总结

server/2024/10/25 13:48:51/

java前后端项目问题总结

1、字段

数据库

数据库在建表时除了需要的字段还有六个必要字段

主键 id

逻辑删 is_delete

创建人create_by

创建时间create_time

修改人 update_by

修改时间 update_time

这些字段在实体类中写法

//@Date注解会自动生成一个无参构造,生成get,set方法,toString方法
@Data //@TableName用来表示这个实体类对应的是数据库里的哪个表
@TableName("student_score")//这里我们继承了 Serializable用于将对象序列化
public class StudentScoreEntity implements Serializable {//serialVersionUID叫做流标识符,即类的版本定义,作用是在序列化时保持版本的兼容性private static final long serialVersionUID = 1L;//标明主键@TableIdprivate Long id;//对于时间类型的数据,要加上格式,并与前端的格式对应    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")private Date examTime; //对于多表查询中的不属于这个类的字段,用@TableField(exist = false)标记@TableField(exist = false)private String username;/*** 上传人,通过SecurityUtils.getSubject().getPrincipal();方法获取*/private Long createBy;
​/*** 上传时间,加上时间格式*/@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")private Date createTime;/*** 更新人,在数据库中字段格式用下划线 update_by,在实体类中通过 驼峰命名来表示updateBy*/
​private Long updateBy;
​/*** 更新时间*/@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")private Date updateTime;
​/*** 逻辑删除标识@TableLogic:1-删除,0-正常,在配置文件配置相关信息在字段中不能出现is关键词,随意加注解@TableField("is_deleted")*/@TableField("is_deleted")@TableLogicprivate Integer deleted;
​
}
在前端vue中的字段名称对应的是实体类的名称
dataForm: {id: 0,userId: '',maths: '',chinese: '',english: '',examTime: '',},

2、前端发送请求使用Mapping和PostMapping

@GetMapping注解可以用于类和方法上,用于定义HTTP GET请求的URL路径。当客户端发送HTTP GET请求时,后端会自动将请求映射到具有相应URL路径的控制器方法上,是 @RequestMapping的快捷形式。

@PostMapping 注解用来处理客户端发送的 POST 请求的。 是由 Spring Boot 提供的一个组合注解,它包含了 @RequestMapping 和 @ResponseBody 注解。其中,@RequestMapping 注解用来声明请求的路径和请求方法,@ResponseBody 注解用来告诉 Spring Boot,返回值需要转换为 JSON 或 XML 格式

3、格式

对于多表查询的xml文件里的sql语句要注意格式,属于同一个内容的写在一行,其他的分行,对于有条件的语句,如果有不管条件是否存在都要执行的语句,写在第一行,字段和数据库中的表字段一致,比如

<select id="selectByPage" resultType="com.wedu.modules.test.entity.StudentScoreEntity">select ss.*,u.username as username from student_score ssleft join sys_user u on u.user_id = ss.user_id
​<where>ss.is_deleted = 0//写在第一行<if test="userId != null ">and ss.user_id  = #{userId}</if></where>order by ss.exam_time desc</select>

前端格式

1)前端主要用来展示页面,要注意页面设计是否美观,比如设计的输入框大小是否一致,

2)尽量使用组件,不用输入,避免产生不必要的输入错误问题

3)注意前端代码文件格式,尽量使用空格键保持页面整洁,使用的字段尽量使用复制避免出错,不要写一些不需要的字段造成误解

4、运行

运行代码时尽量后端使用debug运行,常用两个按钮,一个在两个断点间执行,一个一行一行执行。

后端使用F12键运行,使用快捷键F12在页面中打开控制台看报错,网络用来查看请求接口,主要看Fetch/XHR,看标头(对应常规),载荷(postman请求参数),预览(返回对象)三个指标。

5、DAO层的参数问题,Dao层传入参数的话用@param接受,如

service层

IPage<StudentScoreEntity> page = this.baseMapper.selectByPage(new Query<StudentScoreEntity>().getPage(params),StringUtils.isNullOrEmpty(username)?username:null,student?getUserId():null);

dao层

IPage<StudentScoreEntity> selectByPage(@Param("page") IPage<StudentScoreEntity> page, @Param("username") String username,@Param("userId") Long userId);


http://www.ppmy.cn/server/134729.html

相关文章

docker 部署单节点的etcd以及 常用使用命令

docker部署etcd $ docker run -d --name etcd-server -p 2379:2379 -p 2380:2380 quay.io/coreos/etcd:v3.5.0 /usr/local/bin/etcd -name my-etcd-1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -initial-advertise-peer-urls http…

游戏引擎中ECS架构及内存布局

一.ECS E:Entity-游戏世界中的人,房子等实际物体,这些物体可能由不同的MetaMesh,ParticleSys组成 C:Component-组成实际物体的MetaMesh,ParticleSys,也可以是一个实际物体 S:System-游戏引擎,负责完成实际物体的初始化,内存管理,帧同步,线程同步等核心功能 二.ECS内存布局 1.创…

【企业老总必读】如何监控员工上网行为?监控员工上网的4种方法!人手一个!

想象一下&#xff0c;企业就像一艘大船&#xff0c;每位员工就是水手。但在这片网络海洋中&#xff0c;如何确保每位水手都专注于航行方向&#xff0c;而非偏离航道呢&#xff1f; 答案就是——监控员工上网行为。 今天&#xff0c;我们就来聊聊如何为每位“水手”配备一个“导…

Word、PDF转换为图片Java

Word、PDF转换为图片Java 需求要在小程序端展示文档内容&#xff0c;所以将文档每页转换为图片后显示 参考和其他等方案&#xff1a; https://blog.csdn.net/strggle_bin/article/details/140599514 https://www.modb.pro/db/566986 https://blog.csdn.net/spring_is_comin…

【小白学机器学习16】 概率论的世界观2: 从正态分布去认识世界

目录 1 从正态分布说起 1.1 正态分布的定义 1.2 正态分布的名字 1.3 正态分布的广泛&#xff0c;和基础性 2 正态分布的公式和图形 2.1 正态分布 2.2 标准正态分布 3 正态分布的认识的3个层次 3.1 第1层次&#xff1a;个体的某个属性的样本值&#xff0c;服从正态分布…

django celery 定时任务 Crontab 计划格式

Celery 定时任务教程 Celery 是一个强大的异步任务队列/作业队列基于分布式消息传递的开源项目。它广泛用于处理各种类型的后台任务&#xff0c;例如发送电子邮件、处理图像、数据分析和视频转换等。 本文将介绍如何使用 Celery 实现定时任务&#xff0c;包括&#xff1a; 安…

Web前端高级工程师培训:使用 Node.js 构建一个 Web 服务端程序(1)

1-使用 Node.js 构建一个 Web 服务端程序 文章目录 1-使用 Node.js 构建一个 Web 服务端程序1、Node.js的安装与基础语法2、Node.js 中的 JavaScript 与 浏览器中的 JavaScript2-1、Node.js 中的 JavaScript2-2、浏览器 中的 JavaScript 3、什么是 WebServer(APP)&#xff1f;4…

【MySQL】提高篇—索引与性能优化:索引的概念与类型(单列索引、复合索引、全文索引)

在关系数据库中&#xff0c;当表中的数据量增大时&#xff0c;查询性能可能会显著下降。为了提高数据检索的效率&#xff0c;数据库系统提供了索引的概念。 索引类似于书籍的目录&#xff0c;可以快速定位到特定的数据行&#xff0c;从而加快查询速度。 索引的使用在实际应用…