感谢大人投稿

                                                                                           记录一: 普通Springboot项目 增删改查

这几天在解决bug的过程中, 发现各位总是犯一些低级错误, 包括但不限于

1. Controller层在接收前端发来的请求时, 方法上的注解忘记加请求路径.

2. Controller层在接收前端发来的请求时, 方法参数名前忘记加注解或者加错.

3. 在使用对象时, 忘记加 @Autowired 注入, 导致找不到对象

4. 在调用方法时, 直接用 类名.方法名. 这样在生成方法时, 会生成静态方法.

5. 各个层上忘记加 @RestController @Service @Mapper , 导致在注入时找不到 bean

6. 不会看接口文档, 导致一些接收请求或响应的实体类中的字段和前端需要的不一致.

7. 在写 xml 中的 sql 时, 忘记加 resultType = ""

8. 在写 xml 中的 sql 时, 分不清应该写 实体类中的变量名 还是 数据库表中的字段名 .(一般来说 #{} 中写的是 实体类中的变量名 其他的写数据库表中的字段名, <if test="这里的也要用变量名">)

9. 在写Mapper 层方法时, 方法参数前忘记加 @Param("xxx")

10. pom.xml 中没有导入依赖, 导致代码中使用某些功能时, 找不到包.

11. pom.xml 导入依赖后, 忘记刷新.

12. 写 sql 时找不到表, 可能是没有刷新数据库连接.

13. 有时候修改完代码之后执行项目, 发现功能没有变. 这可能是因为写了两个项目, 在启动项目的时候, 直接点了 idea 最上面那层 的三角形 启动项目, 结果启动了前面的那个项目. 建议启动的时候找到代码的启动类, 右击启动.

14. 注意在 @Autowired 时, 变量的类型是接口名, 而不是实现类的名

15. Controller 层在返回时忘记用 Result 包裹.

分享下我解决bug 的思路:

情况一.后端有直接的报错: 这种比较简单,看报错的信息, 看不懂的话翻译,然后在红色的报错中找蓝色的链接, 点一下可以直接传送到报错的代码, 定位报错代码后,  根据报错信息, 如果能直接看出错误最好, 看不出的话用 debug + 断点 一句一句执行看一下哪里有问题, 如果实在找不到, 把报错复制到ai问.

情况二.后端没有直接报错: 这种可能是前端的数据显示不全甚至没有数据, 但是后端不报错, 可以用浏览器的检查功能抓包, 看看请求或响应的数据全不全, 如果不全, 可能是 sql 语句写错导致找不到数据, 或者是实体类变量名和api中要求的不一致导致前端识别不了数据. 如果还是没找到, 从头打断点一步一步的找.

各位在错误解决后, 最好可以记录一下这个错误, 如果脑子记不住就做个笔记记, 下次再出现报错时, 可以想想这个错误之前是否遇到过? 怎么解决?, 只有这样才可以进步, 否则写代码的水平肯定不会增长的.


                                                                                                     记录二  tlais项目

1、Bug修复:前端请求后端 部门数据,出现跨域问题tlais,Springboot项目后端编写 常见报错

访问后端 http://localhost:8080/depts  结果请求到 http://localhost:5173/dept

可以在后端解决前端请求时的临时跨域问题

tlais,Springboot项目后端编写 常见报错

tlais,Springboot项目后端编写 常见报错


2、Bug修复:tlais系统员工管理的分页查询功能代码已实现,但是前端responce查询不出来数据。

目前页面数据查询情况:tlais,Springboot项目后端编写 常见报错

最终期望展示情况:

tlais,Springboot项目后端编写 常见报错

报错原因如何查找:

  • 位置,一般在开头或者结尾
  • 字眼,找到Caused by字眼,看后面报错

tlais,Springboot项目后端编写 常见报错

tlais,Springboot项目后端编写 常见报错

这段报错原因告诉你LIMIT 5这里的SQL语句有SQL语法错误(SQL syntax)

tlais,Springboot项目后端编写 常见报错看到这里,多出来个分号 ;

分页查询一般会在SQL语句后面自动拼接 LIMIT ,结尾相当于LIMIT前,不能用分号否则就是语法错误。



5-17学习MybayisPlus出现的bug

tlais,Springboot项目后端编写 常见报错

tlais,Springboot项目后端编写 常见报错

报错 如上: 由于没有设置自增ID,自动雪花算法生成的ID属于Long超过了设置的Integer类型ID

就需要用到MybatisPlus常用注解 @TableId设置跟随之前的字段自定义增长ID

一句话就是:以后用MybatisPlus,只要用到ID自增那就要在ID字段写@Table("type = IdType.AuTo")


tlais,Springboot项目后端编写 常见报错

报错和解决办法如上:

只要使用MybatisPlus,实体类名和表名不一样那就要给实体类表绑定表关系 @TableName("tbl_product")


    tlais,Springboot项目后端编写 常见报错

报错和解决办法如上:

只要使用MybatisPlus,属性名和表名不一样那就要给属性绑定表关系 @TableFiled("product_name")  pname                                                                                              




博客壁纸

https://bk.fookxue.cn/content/uploadfile/202405/244c1715942045.jpg

https://raw.gitcode.com/tupian/tupian/blobs/eb8b445b40eff0b36def277cd78b741a3800a8d1/%E8%83%8C%E6%99%AF%E5%9B%BE.png