mybatis plus避坑:字段名 desc

我是小梓

团队中某据说是淘宝出身的前成员的代码,功能没对接完就跑路了,一个多月之后我接的手。

建的两个表,使用了desc字段,然后插入的时候报错:

INSERT INTO htm_refund_history (refund_id, user_id, grouper_id, order_id, status, type, refund_reason_id, desc, del_flag, create_time, update_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc, del_flag, create_time, update_time) VALUES (1, 1658842424178995201, 165882' at line 1

咋一看是看不出什么问题的,我也纠结了好一会。检查了一遍代码,调试了一遍,发现应该没有问题,但是报错依旧。后来我打开表结构,看到 desc 字段是加了引号的 `desc`。刚开始时我没怎么在意,心想应该不会是这个问题吧?但是等我排查了一遍还没解决问题,我决定试一试,把 desc 改成 description,没想到居然可以了。

原来mybatis plus这货在生成SQL语句时,并没有为MySQL的保留字添加上引号,导致执行到 desc 时报错了。关键是这个团队成员写完代码居然都没有自己跑一遍,自己写的代码,表里一条数据都插不进去都没发现。此外还有Controller没有加@RequestBody注解导致获取不到请求参数、同一个表的金额字段一个用decimal(10, 2)另一个用decimal(11)等低级错误。之前却还评价我的某段代码“极其混乱”,让我印象非常不好。让你改bug你好好改就行了嘛,你自己写的一坨答辩接口都跑不通还好意思说别人?

主 楼 发布于:2023-08-21 18:36:47 编辑于:2023-08-21 19:07:44回复
神奇看

专业抢二楼!顺便笑摸狗头(3L)

2 楼 发布于:2023-09-14 03:59:01
回复
最后秒

做爱做的事,交配交的人!

3 楼 发布于:2025-05-16 19:41:07
回复

发表回复: